Bonjour,
J'ai un petit problème a priori simple mais qui m’embête un peu.
Voici le bout de code tout d'abord :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
|
Enemy[id].X += Enemy[id].SpeedX; // mouvement axe X ennemi.
if( Enemy[id].X == SCREEN_WIDTH /2 )
// Si axe ennemi X = moitie largeur fenetre
{
Enemy[id].SpeedX =0;
Enemy[id].Y -= 1.0; // Ennemi remonte sur son axe Y donc
}
if(Enemy[id].Y < 0) // Si axe Y = 0, ennemi doit redescendre
{
Enemy[id].Y += 10.0;
} |
Je ne sais pas si mes commentaires sont assez explicites. En gros j'ai un ennemi qui arrive sur le coté, et qui arrivé a la moitié de la largeur de l’écran doit remonter puis brusquement redescendre. Sauf que comme vous avez pu le remarquer, les deux conditions "if" sont valables donc l'axe Y de l'ennemi "sautille", il ne sait plus s'il doit redescendre ou remonter.
![:aie:](https://www.developpez.net/forums/images/smilies/aie.gif)
J'ai bien essayé de bricoler un truc pour que la première condition ne soit plus valable mais je bloque un peu. D'autant que je suis censé rendre un truc plus ou moins "propre"
![:oops:](https://www.developpez.net/forums/images/smilies/icon_redface.gif)
.
C'est du développement de jeu-vidéo mais j'ai jugé que c’était mieux de poster dans la partie C++. Désolé si ça ne convient pas.
Merci !
Partager