[Résolu] Problème d'affichage d'objets...

Bonjour,

Savez vous comment je peut faire pour afficher correctement un objet sur un autre ou sous un autre.
Voici une image pour expliquer se que je veux faire.

Je voudrait que quand le perso passe devant l’arbre, que celui-ci soit au premier plant
mais à une certaine distance derrière, je sais pas du tout comment faire ça !

Une idée ?
oiuygt.png

Salut,

Tu peux utiliser un événement “Pour chaque GROUPE_QUI_CONTIENT_TOUS_LES_OBJETS_OU_PRESQUE”. Puis, tu affecte la position Y + la hauteur de l’objet au plan de ce dernier (il faut faire gaffe pour le sol qui doit avoir un plan très petit : -1000000000 par exemple).

Bonjour, merci mais j’ai vraiment rien compris du tout :frowning:

Désoler j’ai beau essayer j’y arrive pas :frowning:
Tu ne peut pas me montrer un exemple simple avec un héros et un objet style armoire ou autre stp ?

Pour être sur que tu comprenne bien:
ertyu.png

Tu mets ton armoire et ton héros dans un groupe que tu utilises pour l’événement que je t’ai posté ci-dessus.
Je suis désolé, mais je ne peux pas faire plus simple et clair.

Ah c’est bon j’ai fais se que tu m’as dis et ça marche !!!
Mais comment ça marche j’y comprends rien de rien :mrgreen:
Pourquoi faut créer un groupe ?, pour prendre tous les objets en compte ?
Bref je sais pas comment ça marche mais ça marche :smiley:
Merci !

On a besoin de changer le plan de plein d’objets différents : donc on les mets dans un groupe et on utilise un événement “Pour chaque” pour agir sur chaque objet du groupe indépendamment.
Ensuite, si le personnage (en particulier ces pieds) est plus bas (en terme de coordonnée sur l’axe Y) que le pied de l’arbre, il faut qu’il soit devant. En mettant comme plan la position Y du bas de l’objet (qui est la position Y + sa hauteur), on sera sûr que tous les objets sont dans le bon ordre.

C’est excellent ça, je savais pas qu’on pouvais le faire, faudrait faire un exemple pour le mettre dans GD ça pourra servir :slight_smile:
Encore merci de ta précieuse aide :slight_smile:

une autre méthode serai de décomposer les parties qui doivent être en premier plan et celle qui doivent être en arrière plan et d’utiliser plusieurs calques, un calque en fond “background” qui va contenir tout les éléments de décor qui doivent passer sous le personnage, un calque foreground qui va contenir tout les éléments de décor qui doivent passer par dessus le personnage

Comment ta fais ça ?
Je vais pas m’amuser à faire ça avec tous mes objet quand même !

Merci beaucoup de ton partage :slight_smile:
C’est une solution mais très chiante.

j’ai découper l’image avec gimp (avec l’outil baguette magique et selection par couleur) c’est le genre de méthode utilisé dans les rpgmaker et autres :slight_smile:

Oki !
Pas mal l’idée :slight_smile:

Il y a quand même l’inconvénient de devoir découper le sprite et en plus, cela marche moins bien (suffit d’essayer de faire ça avec une barrière, elle sera toujours devant le personnage).

oui c’est sur qu’il y a des inconvénient et des avantages à chaque méthode ensuite il faut trouver le bon compromis, la méthode de changement de plan pose également des soucis dans le cas de multijoueur si un perso est devant et l’autre et derrière un même objet le mélange des deux méthodes peux être le meilleur choix :slight_smile:

la solution à creuser serai non pas de déplacer le numéro de plan des objets mais celui du perso ou changer de calque le perso et avoir deux calque un par dessus les objets et un en dessous

? Au contraire, ça marchera très bien, chaque joueur ayant comme plan sa position Y + sa hauteur, il y aura bien le joueurs le plus en bas devant l’autre. :wink:

ah oui j’avais pas compris comme cela ^_^"

Par contre, un défaut de la méthode que j’ai proposée est que les images doivent être collées en bas de la texture du sprite. Sinon, cela fausse le plan de quelques pixels et cela peut produire des effets bizarres. On peut imaginer une variable d’objet qui indique le décalage nécessaire (si besoin), voire carrément un point “Pied” qui serait utilisé comme position de référence au lieu de la position Y + la hauteur.