Bonjour,
je suis entrain de développer un jeu sur Java style shoot'em up. Je voudrais que les ennemies suivent un déplacement prédéfinit. Pour cela, soit (x,y) la position d'un ennemie, j'ai décidé d'incrémenter le y (selon la vitesse voulu) pour les faire descendre du haut de l'écran au bas de l'écran, le x se calcule en fonction de y et selon une fonction mathématique choisie.
Par exemple, j'ai créée un déplacement "diagonal" où les ennemies partent en haut à gauche de l'écran et arrivent en bas à droite de l'écran grâce à une fonction affine (x=a*y+b avec a et b choisie selon la position initiale). En voulant créer des déplacements plus sympas, j'ai essayé de faire partir les ennemies en haut à gauche de l'écran, descendre jusqu'au milieu environs, puis partir à droite de façon horizontale et enfin descendre en bas à droite de l'écran. J'ai donc choisie une fonction à la puissance cubique (x=y^3), le problème est que la répartition des points n'est pas homogène, c'est à dire que lorsqu'on s'approche de 0 il y a beaucoup plus de points que lorsqu'on s'éloigne, ainsi les ennemies avancent plus vite au début et à la fin du trajet mais au milieu ils ralentissent grandement.
Ma question est donc est-ce qu'il existe une fonction similaire à la fonction puissance cubique mais qui ai une répartition des points homogènes ? Sinon est-ce que vous avez une autre manière de coder le déplacement d'ennemies ?
Je ne sais pas si ce que j'ai écris et ma question étaient très clair mais si vous ne comprenez pas je peux essayer de réexpliquer d'une manière différente. Ma question est assez général donc je n'ai pas mis d'info sur mon code mais si vous voulez des screenshots ou des bouts de mon code je peux vous les donner.
Merci d'avance pour votre temps.
Partager