Bonjour,
Développeur expérimenté dans différentes technos (dont Java), je suis un total débutant sous Android. J'aimerais pour me faire la main commencer avec un petit jeu avec des graphismes en 2D. D'après ce que j'ai compris, il existe beaucoup de solutions techniques différentes:
- utiliser la lib 3D (openGL) et ne s'en servir que pour faire de la 2D
- utiliser un Panel et surcharger la méthode 'onDraw' pour se retrouver avec une solution de graphisme stateless (ie. on doit tout redessiner à chaque fois) un peu équivalente à ce que je connais pour le Java 'standard' J2SE avec Graphics2D et consors.
- taper dans quelque chose d'un peu plus 'high level' pour retrouver du 'statefull' en détournant plus ou moins la notion de Drawable qui (si j'ai bien tout compris) est pensée au départ pour la GUI d'application classiques, genre l'équivalent d'AWT et de sa classe Component.
Néanmoins chacune de ces solutions ne me convient pas trop en l'état:
- la première demande des compétences en 3D que j'ai certes un peu, mais qui va à coup sûr me faire perdre beaucoup de temps.
- la seconde m'ennuie un peu car elle se base sur le concept d'un canvas stateless où il y aura donc beaucoup de choses à se taper à la main.
- la troisième ne semble pas du tout pensée pour faire du graphisme 2D 'intensif' au départ, plutôt pour des interface relativement figées (un formulaire, des boutons, ...), pas pour des graphismes de jeu qui changent 60 fois par seconde.
A noter qu'il y a peut-être d'autres techno/possibilités de base dans le SDK d'Android, mais je ne les connais pas (et elles m'intéressent ).
Moi ce que j'aimerais trouver dans l'idéal c'est une solution pensée dès le départ pour le jeu en 2D et qui propose donc les fonctionnalités récurrentes pour ce type d'applications:
- une solution où on travaille sur des objets de 'haut niveau' (un sprite en bitmap, un rectangle, une ligne, une ligne de texte, ...) ; à chaque pour la solution sous jacente de s'occuper du redraw, d'optimiser l'affichage en ne redessinant que les parties qui ont changé, etc...
- la notion de scénographe où lesdits objets sont organisables en hiérarchie (type arbre) et où on peut grouper des éléments pour leur appliquer des transformations communes (un Groupe d'objets fils d'un noeud commun qu'on va translater ou faire tourner par exemple).
- la notion de gestion du framerate et du temps pour ajouter facilement des animations (genre tel sprite bouge de (0,0) à (100, 100) en 2 secondes ; telle autre objet voit son alpha passer de 255 à 0 en 3 secondes, ...).
- si possibie des facilités pour charger des ressources (bitmaps, sons, ...) et les utiliser dans le jeu.
Pour ceux qui connaissent (et pour ceux qui ne connaissent pas), l'idéal de chez idéal serait pour moi un équivalent de la librairie PulpCore qui existe pour la création d'applets Java.
D'où ma question: connaîtriez-vous une lib qui correspond grosso modo à ce que je recherche, donc plus ou moins spécialisée dans les graphismes pour le jeu en 2D pour android ?
Merci d'avance
Partager