Gestion des sprites avec ImageList en Delphi ? - Delphi/Pascal - Programmation
Marsh Posté le 16-05-2005 à 16:40:17
Tu affiches tes images sur quoi ? Il suffit peut-être de dessiner un rectangle (FillRect ou un truc du genre) sur le canvas du composant sur lequel tu affiches tes images.
Marsh Posté le 16-05-2005 à 18:30:00
le sprite s'affiche sur un bitmap, le tout est dans une PaintBox.
J'ai essayé de copier un rectangle du fond pour le coller sur le sprite (pour l'effacer) mais je dois mal m'y prendre puisque ça n'efface rien du tout
voilà la partie du code :
Code :
|
Voilà je ne vois pas où il y a un problème
Marsh Posté le 16-05-2005 à 18:39:24
C'est quoi image1 par rapport à g_perso ?
Marsh Posté le 16-05-2005 à 18:48:52
image1 est le fond sur lequel se déplace le sprite (c'est un bitmap)
g_perso est l'une des images du sprite (le 1er bitmap de l'ImageList "listperso" ).
En gros j'ai voulu utiliser une zone tampon ("fond" ) pour redessiner le fond ("image1" ) en enlevant l'ancien sprite, puis de redessiner le sprite à sa nouvelle position, et enfin d'afficher le tout;
Mais j'ai dû me louper quelque part
Marsh Posté le 16-05-2005 à 18:58:13
Ta copie du fond tu dois pas la refaire chaque fois, tu dois la faire au début puis la conserver, non ?
Et la PaintBox, c'est quoi son rôle par rapport à image1 ?
Je vois toujours pas l'intérêt de g_perso en fait
Marsh Posté le 17-05-2005 à 07:18:44
antp a écrit : Ta copie du fond tu dois pas la refaire chaque fois, tu dois la faire au début puis la conserver, non ? |
PaintBox c'est l'élément qui contient les 3 images
g_perso c'est le sprite lui-même
Je vais essayer de sortir la copie du fond de la boucle alors
Marsh Posté le 17-05-2005 à 09:59:59
Je vois pas trop l'intérêt de la paintbox si tu dessines déjà tout sur un TImage
Pareil pour le sprite, pourquoi ne pas le dessiner directement de l'imagelist vers l'image principale sans passer par une image intermédiaire ?
Marsh Posté le 17-05-2005 à 13:26:36
Pour la paintbox je l'avais rajoutée pour tester, en effet ça marchait pareil sans.
Pour le sprite, je le copiais dans une autre image pour récupérer sa taille et sa position (je sais pas comment connaitre ces infos à partir de l'imagelist )
Marsh Posté le 15-05-2005 à 16:35:23
Voilà je débute en delphi et je tente de réaliser une animation 2D via des sprites et ImageList
Le problème c'est que lorsque j'affiche l'image suivante d'ImageList le masque de l'image précédente reste affiché.
Je voulais savoir comment "effacer" completement l'image précédente.
Merci d'avance