Aller au contenu

AndEngine AnimatedSprite


Yopii

Recommended Posts

Bonjour à tous !!

J'ai suivis les magnifiques tutoriels sur AndEngine trouvés à cette adresse :

https://forum.frandroid.com/topic/16808-serie-de-tutoriauxdevelopper-sous-android/page__hl__andengine

Mais le problème, c'est que suite au tuto n°4, j'ai créé un Sprime animé (AnimatedSprite) et lorsque je tente de le déplacer dans le tutoriel n°5 je n'y arrive pas...

Donc, le premier problème est dû au fait que certaines méthodes étaient depracated mais peu importe c'est pas le problème, d'autres développeurs ont partagé leur solution dans les commentaires !!

Cependant, le problème pour le situer par rapport au tutoriel se situe dans ce morceau de code :

@Override
public void onControlChange(BaseOnScreenControl pBaseOnScreenControl,float pValueX, float pValueY) {
// Lorsque l'on bouge notre joystick le tank se déplace à une vitesse graduelle (la vélocité)
tank.setVelocity(pValueX * 100, pValueY * 100);	

// Fait pivote notre tank selon la direction du joystick
if(pValueX != 0 && pValueY != 0)
	tank.setRotation(MathUtils.radToDeg((float)Math.atan2(pValueX, -pValueY)));
}

que j'ai corrigé par :

@Override
public void onControlChange(BaseOnScreenControl pBaseOnScreenControl, float pValueX, float pValueY) {
	// Lorsque l'on bouge notre joystick le vaisseau se déplace à une vitesse graduelle (la vélocité)
	VelocityInitializer velocity = new VelocityInitializer(pValueX * 100, pValueY * 100);
	velocity.onInitializeParticle(vaisseau);


	// Fait pivote notre vaisseau selon la direction du joystick
	if(pValueX != 0 && pValueY != 0){
		vaisseau.setRotation(MathUtils.radToDeg((float)Math.atan2(pValueX, -pValueY)));
	}
}

Le problème est que finalement, la méthode onInitializeParticle prend un Particle (et un Particle hérite de Sprite). Seulement, moi avec mon AnimatedSprite, je ne vois pas comment faire...

Du coup, je ne peux pas vraiment bouger mon vaisseau (vous l'aurez compris en lisant mon code, mon sprite animé est un vaisseau :P ) c'est-à-dire qu'il bouge lorsque je "tire" sur le joystick mais il revient à sa place initiale.

De plus, lorsque je met un quelconque morceau de code dans la méthode onControlChange(), mon vaisseau se place en dans le coin gauche en haut (0,0).

Donc, si quelqu'un utilise pas mal cette API, ou même qui aurait tenté de faire comme moi, a une idée pour me sortir de ce problème je le remercie vivement !!!

Voilà, merci d'avance !!!

Lien vers le commentaire
Partager sur d’autres sites

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

×
×
  • Créer...