Bonsoir !
Tout d'abord merci à tous ceux qui ont répondu à mes précédents posts ! Cela m'a permis de beaucoup avancer sur mon projet et de creuser énormément de points sur le GML !
Mais à toute avancée ses nouveaux problèmes... Et pour celui-là, je crois que je suis encore un peu rouillé sur le système d'affichage des sprites. J'ai beau tourner et retourner mon code, je n'arrive pas à m'en défaire. Si quelqu'un a une piste...
L'idée est simple : sur l'écran doivent s'afficher une dizaine de sprites que le logiciel va chercher aléatoirement dans un dossier contenant des centaines d'images (par l'intermédiaire d'un document texte qui contient la liste).
Pour ce résultat, l'essentiel de mon code repose sur une boucle "for" qui relance une dizaine de fois l'action "piocher une image au hasard, l'ajouter en sprite dans les ressources, afficher le sprite à x/y" avec un décalage régulier de x/y pour que les images s'affichent successivement".
Sur le plan du code, tout est ok... Le seul problème c'est que :
- soit je place ce code en entier dans un event "draw", ce qui permet d'afficher toutes les images à l'écran MAIS la boucle est relancée à chaque rafraîchissement (avec nouveau tirage au sort, ce qui encombre rapidement la mémoire par ailleurs).
- soit je place le code dans un autre événement MAIS aucune image n'apparaît malgré la fonction draw_sprite
- soit je place la partie de calcul dans un événement quelconque, et la partie de dessin dans un événement "draw" MAIS dans ce cas les sprites sont effacés au fur et à mesure qu'un nouveau apparaît (car la variable qui détermine le chemin du sprite est toujours la même à chaque tour de la boucle "for", et donc la valeur précédente est effacée au tour suivant).
Comment puis-je donc faire pour qu'un sprite affiché reste affiché même si le chemin qui a permis d'aller le chercher n'existe plus (conséquence de ma boucle, à laquelle je tiens ^^)... Une fois toutes les images affichées, je n'ai pas besoin d'un rafraîchissement régulier, l'écran devant rester fixe.
En espérant avoir été clair.
Merci d'avance pour vos lumières !