Cette réponse est rendue obsolète en raison de changements dans LibGDX. Pour une documentation à jour, voir scene2d wiki page.
Il existe différentes actions disponibles dans LibGDX prêt pour vous. Ils sont dans le paquet com.badlogic.gdx.scenes.scene2d.actions
. Je dirais qu'il ya 3 types d'actions:
- actions d'animation
- actions composites
- Autres actions
actions d'animation modifier diverses propriétés de votre acteur, tels que l'emplacement, la rotation, échelle et alpha.Ils sont:
- FadeIn - change alpha de votre acteur de courant alpha 1
- FadeOut acteur - change alpha de votre acteur de l'alpha actuelle de l'acteur à 0
- fadeTo - change alpha de votre acteur de son acteur alpha actuelle à la valeur spécifique
- de MoveBy - déplace votre acteur par quantité spécifique
- MoveTo - déplace votre acteur - emplacement spécifique
- RotateBy - tourne votre acteur par angle spécifique
- rotateTo - tourne votre acteur - angle spécifique
- scaleTo - votre acteur à facteur d'échelle spécifique
actions composites combinent plusieurs actions dans un action, il y a:
- Parallèle - exécuter des actions données en parallèle - toutes les actions à la fois
- séquence - d'exécuter des actions données en séquence - un après l'autre
Autres actions:
- Répéter - Répète action donnée n fois
- Forever - répète une action donnée pour toujours
- retard - Retarde l'exécution de l'action donnée pour une durée spécifique
- Supprimer - Enlève l'acteur donné de l'étape
Chaque action a une méthode statique $
qui crée une instance de cette Action. Exemple de création d'actions d'animation:
MoveTo move = MoveTo.$(200, 200, 0.5f); //move Actor to location (200,200) in 0.5 s
RotateTo rotate = RotateTo.$(60, 0.5f); //rotate Actor to angle 60 in 0.5 s
Exemple de création séquence d'action plus complexe:
Sequence sequence = Sequence.$(
MoveTo.$(200, 200, 0.5f), //move actor to 200,200
RotateTo.$(90, 0.5f), //rotate actor to 90°
FadeOut.$(0.5f), //fade out actor (change alpha to 0)
Remove.$() //remove actor from stage
);
actions d'animation vous permettent également de spécifier Interpolator
. Il existe différentes implémentations:
- AccelerateDecelerateInterpolator
- AccelerateInterpolator
- AnticipateInterpolator
- DecelerateInterpolator
- LinearInterpolator
- OvershootInterpolator
Interpolateur Javadoc: Interpolateur def ines le taux de changement d'une animation. Cela permet d'accélérer, décélérer les effets d'animation de base (alpha, échelle, translation, rotation) etc. Pour définir interpolateur à votre action:
action.setInterpolator(AccelerateDecelerateInterpolator.$());
Lorsque vous avez votre action avec interpolateur prêt, alors vous mettre cette action à votre acteur:
actor.action(yourAction);
Pour exécuter effectivement toutes les actions définies pour les acteurs sur scène , vous devez appeler stage.act (...) dans votre render:
stage.act(Gdx.graphics.getDeltaTime());
stage.draw();
Vraiment sympa, réponse complète. –
Merci beaucoup pour la réponse :) c'était vraiment bien expliqué –