2010-06-18 3 views
2
public void MoveMyButton (int x) //where the button suppose to move to 
{ 
TranslateAnimation anim=new TranslateAnimation(this.getLeft() ,x, this.getTop() ,20)); 
anim.setFillAfter(true); 
anim.setDuration(1000); 
this.setAnimation(anim); 
anim.start(); 
} 
  • bouton de la x au démarrage est 1.
  • j'appelle la méthode pour le déplacer à 100, et il va de 1 à 100
  • Je l'appelle pour aller à 200, et il va de 1 à 200, au lieu de 100 à 200

Y at-il un moyen de rendre l'animation pour enregistrer l'emplacement du bouton comme il l'anime? RemerciementsAndroid ==> Animation 2D simple?

_____________________________UPDATE__________________________________ Veuillez me corriger si je me trompe. Un jeu d'animation consiste à combiner plusieurs animations, donc passez de la position 1 à la position 2 puis de la position 2 à la position 3. Le problème est que mes animations ne sont pas prévisibles. Mon application est un jeu multijoueur auquel 10 joueurs jouent ensemble. Chaque fois qu'un joueur obtient un tour, le bouton de la minuterie devrait se déplacer vers ce joueur. alors quand un autre joueur obtient un tour, le bouton suppose de passer du joueur précédent au nouveau joueur. Je dois donc montrer des animations lorsque je reçois des messages du serveur. Exemple: - Déplace le bouton de la position actuelle au joueur 1 - Déplace le bouton du joueur 1 au joueur 3 - Déplace le bouton du joueur 3 au joueur 9 - ........... etc

Comme vous pouvez le voir, je ne peux pas prédire où le bouton est supposé aller. J'espère avoir suffisamment expliqué (Le lien youtube que j'ai posté ci-dessus est exactement ce que j'essaie de réaliser) De nouvelles suggestions?

Merci pour les réponses

Répondre

1

Si je comprends bien, je pense que vous devez déplacer le bouton à l'emplacement intermédiaire avant d'appeler l'animation une deuxième fois.

Mise à jour: Ou vous pouvez utiliser un AnimationSet qui contient deux TranslateAnimations pour effectuer le travail.

+0

oui un peu, http://www.youtube.com/watch?v=URchEye8a4w Si vous regardez cette vidéo, il y a un bouton de minuterie rond vert, qui se déplace d'un joueur à l'autre, c'est exactement ce que j'essaie de faire. – aryaxt

+0

Mise à jour de ma réponse. Je pense que vous pouvez utiliser un AnimationSet, contenant une paire de TranslateAnimations, pour faire ce que vous essayez de faire. –

+0

Comme suggéré par Carl, utilisez un jeu d'animation. –