Dans une faible tentative d'apprendre un certain développement Android que je coincé à des graphiques. Mon but ici est assez simple:Assemblez tuiles dans android sdk et utiliser comme arrière-plan
- Prenez n petites images et construire une image aléatoire, plus grande que l'écran avec la possibilité de faire défiler.
- Vous avez déjà un objet animé se déplacer sur elle
J'ai regardé les exemples SDK, Lunar Lander en particulier, mais il y a quelques choses que je ne complètement envelopper ma tête. J'ai un plan de vue d'oiseau (qui dans ma tête semble raisonnablement sain d'esprit):
Comment est-ce que je fusionne les tuiles dans une grande image? L'arrière-plan est statique, donc je me dis que je devrais faire comme ceci:
- Faire un tableau 2D avec refs aux tuiles
- Faire un grand Drawable et d'en tirer les tuiles sur elle
- à tirer initialisation ce grand image comme fond
- a chaque onDraw redessiner l'arrière-plan du point précédent de l'objet en mouvement, et l'objet se déplaçant à son nouvel emplacement
le problème est entre les mains sur les choses. Je charge les petites images avec "Bitmap img1 = BitmapFactory.decodeResource (res, R.drawable.img1)", mais alors quoi? Dois-je faire une toile et dessiner les images dessus avec "canvas.drawBitmap (img1, x, y, null);"? Si oui, comment obtenir un Drawable/Bitmap à partir de cela?
Je suis complètement perdu ici, et j'apprécierais vraiment de l'aide pratique (je serais évidemment reconnaissant pour les conseils généraux, mais j'essaie principalement de comprendre les objets graphiques). Pour vous faire, cher lecteur, voir mon niveau de confusion vais-je ajouter mon dernier essai désespéré:
Drawable drawable;
Canvas canvas = new Canvas();
Bitmap img1 = BitmapFactory.decodeResource (res, R.drawable.img1); // 50 x 100 px image
Bitmap img2 = BitmapFactory.decodeResource (res, R.drawable.img2); // 50 x 100 px image
canvas.drawBitmap (img1, 0, 0, null);
canvas.drawBitmap (img2, 50, 0, null);
drawable.draw (canvas); // obviously wrong as draw == null
this.setBackground (drawable);
Merci à l'avance