J'ajoute des animations bitmap dans mon moteur de jeu android 2D simple (si vous pouvez l'appeler encore un: .. D) et je suis confronté au problème de faire défiler les images à FPS/taux prédéfinis. Ce que j'ai fait pour l'instant, c'est simplement utiliser System pour obtenir currentTimeMillis et l'utiliser comme référence, mais je suis sûr que ce n'est pas la meilleure décision .. Je pensais pouvoir transmettre la frame courante à la méthode de dessin et l'utiliser la méthode de dessin.Android animation bitmap
Actuellement, j'ai l'objet que vous obtenez le drawable de et je l'utilise sur renderer comme ceci:
canvas.drawBitmap(animation.getDrawable(), (int)x, (int)y, null);
et getDrawable() retourne image courante de l'animation ou le seul cadre si son image fixe et Heres le code
if(frames.size() > 1) {
long current = System.currentTimeMillis();
if (currentFrame == frames.size() - 1 && frameDirection == 1) {
frameDirection = -1;
} else if (currentFrame == 0 && frameDirection == -1) {
frameDirection = 1;
}
if ((current - lastFrame) > delay) {
currentFrame += frameDirection;
lastFrame = current;
}
}
return frames.get(currentFrame);
et dans mes yeux qui ressemble tellement mauvais et unefficient .. que puis-je faire? Est-ce la seule façon de passer l'image courante à getDrawable ou comment cela devrait-il être fait?
Merci pour ça, j'oublie presque l'utilisation des feuilles de sprite .. Merci beaucoup! – Ruuhkis