Bonjour Laurent,
D'abord merci d'avoir pris le temps de répondre à mon message (malgré que tu n'as pas forcément tout le temps libre que tu désires, cf. ta réponse concernant les tutos SFML2
).
Alors pour illustrer mon problème, voici deux photos d'écrans.
Première image : le programme de test sans la vue :
Seconde image : le programme de test avec une vue de 380x380 :
Ici je ne comprend pas deux choses : le déplacement de toute la scène correspond à la vue (donc il me faut alors recalculer les positions), d'autres part il fait un zoom arrière (on voit bien que le pont est beaucoup plus petit).
Alors peut être n'ais-je pas su utiliser les vues correctement. Je te montre le code en question :
#include <iostream>
#include <SFML/Graphics.hpp>
int main (void)
{
using namespace sf;
RenderWindow window( VideoMode(640, 480, 32), "Test Vues" );
Image grass, water, bridge;
Sprite grassSp[300], waterSp[20], bridgeSp[20];
View defaultView, newView;
defaultView = window.GetDefaultView();
window.SetView(newView);
newView.Move(380, 380);
grass.LoadFromFile("grass.png");
grass.SetSmooth(false);
water.LoadFromFile("water.png");
water.SetSmooth(false);
bridge.LoadFromFile("bridge.png");
bridge.SetSmooth(false);
while ( window.IsOpened() )
{
Event event;
while ( window.GetEvent(event) )
{
if (event.Type == Event::Closed)
{
window.Close();
}
}
window.Clear();
int x = 0;
for (int i = 0; i < 15; i++)
{
for (int j = 0; j < 20; j++)
{
grassSp[x].SetImage(grass);
grassSp[x].SetPosition(32*j, 32*i);
window.Draw(grassSp[x]);
x++;
}
}
waterSp[0].SetImage(water);
waterSp[0].SetPosition(128, 128);
window.Draw(waterSp[0]);
waterSp[1].SetImage(water);
waterSp[1].SetPosition(160, 128);
window.Draw(waterSp[1]);
waterSp[2].SetImage(water);
waterSp[2].SetPosition(128, 160);
window.Draw(waterSp[2]);
waterSp[3].SetImage(water);
waterSp[3].SetPosition(160, 160);
window.Draw(waterSp[3]);
bridgeSp[0].SetImage(bridge);
bridgeSp[0].SetPosition(320, 320);
window.Draw(bridgeSp[0]);
bridgeSp[1].SetImage(bridge);
bridgeSp[1].SetPosition(384, 384);
window.Draw(bridgeSp[1]);
window.Display();
}
return 0;
}
J'utilises encore la SFML 1.6 par contre, je songe à passer en 2.0 mais j'attend tes tutos pour ne pas être trop largué quoi
Merci d'avance pour ton aide.
P.S. Par contre au passage je me permet une autre question : il est possible de jouer avec les vues afin d'avoir comme un FPS mais en 2D ? Je ne sais pas si c'est une chose possible à faire.