Ça risque d'être compliqué... beaucoup de sprite ...
Je peux régler le problème de depth : Dans ton script qui calcule la depth de ton objet met
- Code:
-
depth = room_height - y
pour les perso qui bougent, tu appelles ce script dans step, pour les objets immobiles, tu appelles ce script dans create...
Donc, plus le y est petit (plus l'objet est haut dans l'écran), plus l'objet sera derrière les autres...
Ex: pour une room de 480 de hauteur :
la depth d'un objet dont y = 0 sera de 480 ()
la depth d'un objet dont y = 300 sera de 180
la depth d'un objet dont y = 480 sera de 0
Cependant, un petit problème se pose, il faut coordonner origines de tous tes sprites car si l'origine de sora est (16,30) et que l'origine de ton autre perso car même si les sprites des 2 persos ont la même dimension mais que leurs origines sont différentes, la depth de tes objets ne fonctionnera pas comme il faut...
Il y a peut-être un autre moyen... Essaie-ça à la place dans ton script:
- Code:
-
depth = room_height - bbox_bottom
Au lieu de calculer la depth en fonction du y, ça va calculet la depth en fonction du bas de la bounding box : par contre, je ne sais pas si c'est la bounding box de ton perso ou la bounding box du mask de ton perso qui sera utilisé... (En toute logique, ça devrait être celle du mask) : pas testé...
Une piste de solution pour les collision : Au lieu d'utiliser un mask, je crois qu'il serait préférable d'utiliser les fonctions de collision (collision_rectangle par exemple...)
Commence par cela et donne-moi des nouvelles...
_________________
Loucheman