Gestion de la profondeur en AS3 !

sympasteve Messages postés 13 Date d'inscription samedi 26 avril 2003 Statut Membre Dernière intervention 24 octobre 2010 - 15 avril 2009 à 23:29
pinkWisky Messages postés 77 Date d'inscription dimanche 13 juin 2004 Statut Membre Dernière intervention 17 décembre 2010 - 17 déc. 2009 à 17:12
Bonjour à tous !

Lorsque je modifie la profondeur  de plusieurs Sprites avec appendTranslation, j'arrive parfois à des incohérances d'affichages :
genre un objet qui est derrière (coordonnée z =  100) est affiché devant un objet qui est normalement devant (coordonnée Z = 200 par exemple).
Donc :
Est ce que c'est la commande "Addchild" qui gère le fait que tel clip est devant tel autre ?
Y a-t-il une commande qui permet de dire : "L'ordre d'affichage des sprites est géré selon leur coordonnée sur l'axe Z"  ?

Dites si c'est pas clair...

Merci

4 réponses

sympasteve Messages postés 13 Date d'inscription samedi 26 avril 2003 Statut Membre Dernière intervention 24 octobre 2010
16 avril 2009 à 03:44
Le souci est réglé, voici la solution "simplifié" (<strike>car il est 3h42 du matin nom de dieu</strike>) pour le problème :

Donc, oui c'est la commande "Addchild(nomdusprite)" qui gère si le sprit est affiché devant ou derrière le(s) autre(s) sprite(s).

Pour obtenir un affichage cohérant (cad Les sprites qui sont placé en profondeur sont couvert par les sprites en devant), il faut passer par l'astuce suivante :

1- Remplir un vecteur avec les Sprites.
2- Ordonner les sprites de ce vecteur par profondeur
3- Mettre l'index des sprites ((l'ordre d'affichage) dans le même ordre que l'ordre du vecteur.

J'ai trouvé l'astuce sur le code d'un Carouselle 3D en AS3 disponible sur ce site, il faut chercher dans "Carouselle.as" à la ligne 49 !
Voila have fun, la solution est toujours quelque part
0
faiblard Messages postés 337 Date d'inscription samedi 3 février 2007 Statut Membre Dernière intervention 4 janvier 2011
16 avril 2009 à 09:01
A savoir qu'en as 3 tu ne peux pas avoir de profondeur vide d'où peut être ton soucis.

Il y a effondrement des profondeurs :

En gros si les profondeurs 1 2 3 et 4 son prise et que tu supprime l'objet en prof 2 les objet en profondeur 3 et 4 passe respectivement en 2 et 3...
0
nickydaquick Messages postés 416 Date d'inscription vendredi 31 janvier 2003 Statut Membre Dernière intervention 19 décembre 2013 3
21 avril 2009 à 00:39
Salut,

AS3.0   => DisplayObjectContainer.swapChildren(obj1,obj2);

Bonne continuation

http://liveplayaz.com

je suis heureux de faire partie d'une grande famille ...!
0
pinkWisky Messages postés 77 Date d'inscription dimanche 13 juin 2004 Statut Membre Dernière intervention 17 décembre 2010
17 déc. 2009 à 17:12
Bonjour,

J'y comprends rien de rien en AS3 et je ne parviens pas à redefinir la profondeur d'un clip ... Micky, j'ai essayé ta methode mais j'ai une erreur lors de l'export : "1061:appel à la methode swapC... peut etre non definie, via la reference de type classic class"

J'y comprends rien aux constructeurs, aux methodes et tout et tout ...

Help
0
Rejoignez-nous