Android: 2D. OpenGl ou android.graphiques?
Je travaille avec mon ami sur notre premier jeu Android. L'idée de base est que chaque image du jeu de l'ensemble de la surface est redessiné (1 grand bitmap) en 2 étapes:
- Arrière-plan avec certaines statique de l'image (PNG) efface image précédente
- Puis il s'est répandu partout avec le grand nombre de particules qui produit un effet de bulles de savon où il ya une piscine d'environ 20 bitmaps qui est ramassé au hasard pour produire l'illusion que toutes les bulles (entre 200 et 300) sont tous différents. Des bulles de postes mis à jour sur chaque image (~50ms), pour produire effet de déplacer les bulles.
Les mathématiques moteur est dans C (JNI) et actuellement, tout le dessin est fait à l'aide de android.logiciel graphique très similaire (puisque c'était l'exemple que j'utilisais) de Lunar Lander.
Il fonctionne, mais l'animation est un peu saccadée et je peux sentir la température de mon téléphone qu'il est très occupé. Allons-nous bénéficier de la commutation de l'OpenGL? Et une question bonus: quel serait un bon moyen d'optimiser le dessin (mécanisme de Lunar Lander comme) nous avons maintenant?
Vous devez vous connecter pour publier un commentaire.
Maintenant, j'ai commencé à travailler avec OpenGL ES, je souhaite aussi l'utiliser pour les graphiques 2D. Cette voie est la plus souple et il est extrêmement rapide (regardez cet exemple de code. C'est sur le rendu 2D, et de là, vous pouvez voir la puissance de l'OpenGL.
Ce n'est pas la chose la plus facile pour commencer, mais il ya quelques bonnes tutoriels là - par exemple, cette est un très bon produit.
Ne pas redessiner la totalité de l'écran à chaque fois. C'est ce qui cause votre framerate. Utiliser la méthode invalidate pour marquer les zones qui ont changé de chaque image.