libgdx sprite fade out
Je suis en train de travailler sur la 2D jeu de tir dans LibGdx.
Je dois mentionner que je suis nouveau sur LibGdx, et j'essaie vraiment difficile de comprendre comment il fonctionne. J'ai de l'expérience en Java et Android de programmation pour quelques années, donc je comprends concepts de jeu.
Je suis intéressé il y a un moyen de disparaître objet sprite.
J'ai ennemis à l'écran, et quand l'ennemi est mort, je veux supprimer Ennemi objet de ma liste et l'ignorer à l'intérieur de calculs et de l'intersection de la logique.
Mais je veux ennemi de sprites de rester sur l'écran pour un peu plus de temps et de disparaître lentement.
Est là une belle façon de LibGdx de gérer cela...ou je dois dessiner des extra "fade out" cadres...et de le gérer à l'intérieur d'animation...
Est là une caractéristique intégrée qui prend en charge ce genre de choses?
Tnx beaucoup! J'ai besoin de quelqu'un de clair que pour moi, avant que je ne commence à cerveau-tempête, et de perdre la vie dans l'élaboration de sprites.
Non, je suis en utilisant le lot de dessiner mon textures et les sprites...je l'utilise Stage2D sur l'écran de trucs, comme le bouton de pause, etc. Mais tous les sprites et les particules sont attirés par SpriteBatch.
Vous aurez probally devez écrire votre propre ensuite. Si vous avez été en utilisant Stage2D vous pouvez utiliser un cadre d'Action pour compléter votre fondu de sortie. Vous pouvez toujours le faire, il suffit de manipuler le code de l'action vous-même. Jetez un oeil à AlphaAction.
ok, je vais jeter un oeil, tnx pour votre réponse. Je vais rétroaction si je réussis quelque chose.
J'ai trouvé quelque chose qui s'appelle TweenEngine...j'espère que je peux obtenir ce travail à l'aide que.
OriginalL'auteur Veljko | 2013-03-10
Vous devez vous connecter pour publier un commentaire.
Vous devriez être en mesure de la fermeture de votre ennemi mort sprites par la diminution de leur "alpha" au fil du temps. Je pense que la meilleure façon de le faire est d'utiliser le traitement par lots
setColor()
:Vous aurez à calculer la
fadeTimeAlpha
(de 1.0 f, 0.0 f au cours du temps).Le
de la Couleur.lerp()
méthodes pourrait aider.Je ne suis pas sûr si le réglage de la couleur pour chaque sprite va provoquer le lot de chasse (je pense qu'elle le fera), donc cela peut avoir une relativement élevé de performance des coûts (en supposant que votre lot sprite dessin a été bien se comporter à l'avance).
il est probablement trop tard, mais oui, cela signifie que tout aura disparu. Vous devez le réinitialiser avec
setColor(1, 1, 1, 1)
entre les tirages.Pas de problème. Je l'ai résolu il y a longtemps. Tnx de toute façon.
En regardant le SpriteBatch code, il ne ressemble pas du réglage de la couleur provoque une rougeur. La couleur est définie dans le tableau vertices lorsque le tirage est appelé.
OriginalL'auteur P.T.
À l'aide de Sprite que vous pouvez utiliser .setAlpha:
Tout d'abord, le système alpha: Vous fournir un nombre compris entre 0.0 et 1.0 (pas 0 et 255)
dans l'extrait de code ci-dessus,
alpha
est une valeur flottante eticon
est un Sprite. Alpha est (d'abord) 0 dans ce cas.pour le calcul:
1f est max alpha
60f est FPS
et 2 est parce que je veux que cela aille plus de 2 secondes.
(Nouveaux LibGDX, donc je n'ai pas compris comment je peux obtenir les FPS, car elle n'est pas nécessairement 60).
De changer ce que vous divisez par (et un changement de FPS si pertinent) change la façon dont une grande partie est d'ajouter (ou soustraire) des alpha, et combien de temps l'animation sera plus
OriginalL'auteur Zoe