Il existe deux voies d'animation dans android: Canvas
et OpenGL ES. Je recommanderais OpenGL pour tout ce qui demande de la souplesse et de la vitesse, comme une balle en mouvement. Vous devez créer une vue à l'aide de la classe auxiliaire GLSurfaceView
http://android-developers.blogspot.com/2009/04/introducing-glsurfaceview.html et implémenter un Renderer
. Je suppose que vous avez les images enregistrées dans vos dossiers res/drawable
, dans un format comme png
et le fichier de boule contient un canal alpha.
Vous pouvez voir de nombreux tutoriels en ligne, mais vous devez essentiellement charger votre image de fond et votre ressource de balle au onSurfaceCreated
et la stocker dans une texture en utilisant GLUtils.texImage2D
.
Dans la méthode , vous devez configurer une projection 2D telle que glOrtho2D
, puis dessiner l'arrière-plan.
Ensuite, juste avant de dessiner la texture de la balle, vous pouvez utiliser la fonction glTranslate(x,y,0)
pour déplacer la balle au-dessus de la maison. Utilisez un mélange alpha pour la balle:
glBlendFunc(GL_SRC_ALPHA, GL_SRC_ONE_MINUS_ALPHA);
glEnable(GL_BLEND);
Malheureusement, écrire dans OpenGL n'est pas aussi simple que vous pourriez l'espérer. Tout est fait avec des coordonnées 3D, malgré le fait que vous voulez seulement une image 2D. Mais j'espère que cela vous donne assez d'informations pour google pour de bons exemples, qui sont abondants!