SwapDepths

Résolu
projer Messages postés 112 Date d'inscription lundi 6 avril 2009 Statut Membre Dernière intervention 17 janvier 2015 - 8 avril 2009 à 21:21
cs_bali_balo Messages postés 1378 Date d'inscription samedi 9 octobre 2004 Statut Membre Dernière intervention 1 novembre 2010 - 10 avril 2009 à 01:55
Bonjour, j'essaye depuis 3 jours une animation mais rien n'y fait, impossible de gérer les plans de mes clips...

L'animation consiste à faire tourner 3 panneaux carrés sur un guide de mouvement ovale, quand on clique sur un des panneaux, celui-ci tourne et vient se mettre en face. Le problème est que je voudrai que les panneaux censés être derrière passent bien en arrière-plan et là, je bloque...

info : o_mc_clip_(chiffre) : nom des clips qui bougent avec à l'intérieur 1 bouton nommé o_btn_(même chiffre)
sur le bouton j'ai mis un appel de la fonction deplacement avec un nombre 0,1 ou 2 envoyé. Le fonction est bien déclenchée puisque le déplacement se fait correctement.

J'ai géré mon déplacement des panneaux par interpolation avec nextFrame() et prevFrame()


Voici mon code qui est censé gérer les niveaux.:

var niveau:Number=0;

function deplacement(bouton:Number):Void{
    niveau=eval("o_mc_clip_"+bouton).getDepth;
   
    if(niveau<o_mc_clip_0.getDepth){
        eval("o_mc_clip_"+bouton).swapDepths(o_mc_clip_0);
    }
    if (niveau<o_mc_clip_1.getDepth){
        eval("o_mc_clip_"+bouton).swapDepths(o_mc_clip_1);
    }
    if (niveau<o_mc_clip_2.getDepth){
        eval("o_mc_clip_"+bouton).swapDepths(o_mc_clip_2);
    }
//la fonction gérant le déplacement suit après
}

Merci d'avance :)

10 réponses

pegase31 Messages postés 6138 Date d'inscription dimanche 21 décembre 2003 Statut Modérateur Dernière intervention 4 septembre 2013 12
8 avril 2009 à 21:32
Bonsoir,

De mémoire, tu ne peux pas contrôler la profondeur des clips déjà présents sur la scène et qui n'ont pas été placés par actionscript.

Peg'
3
projer Messages postés 112 Date d'inscription lundi 6 avril 2009 Statut Membre Dernière intervention 17 janvier 2015
8 avril 2009 à 21:52
J'ai fait le test avec 2 rectangles qui se croisent , vont et viennent avec déplacement géré avec onEnterFrame et là, avec swapDepths, ça marche nikel, un coup c'est l'un qui est au dessus, sur le retour c'est l'autre.

Les rectangles n'ont pas été fait par actionscript dans ce test.

J'ai pensé que ça serait peut-être dû au fait que le déplacement soit géré en interpolation alors (ce que je pense depuis le début), il doit lire les claques dans l'ordre où ils sont malgré leur niveau...
3
projer Messages postés 112 Date d'inscription lundi 6 avril 2009 Statut Membre Dernière intervention 17 janvier 2015
8 avril 2009 à 21:53
Les 2 rectangles sont sur le même calque pour info :)
3
pegase31 Messages postés 6138 Date d'inscription dimanche 21 décembre 2003 Statut Modérateur Dernière intervention 4 septembre 2013 12
8 avril 2009 à 22:03
il n'y a plus de notions de "calques" en actionscript, donc le mieux serait de générer tout ça via actionscript et de faire un petit bout de programme pour faire tourner tout ça proprement.

Peg'
3

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
projer Messages postés 112 Date d'inscription lundi 6 avril 2009 Statut Membre Dernière intervention 17 janvier 2015
8 avril 2009 à 22:21
Ouaip, c'est ce que je fini par croire aussi :)

Mais pour faire tourner 12 panneaux voire plus, ça promet un code sympa :)
3
pegase31 Messages postés 6138 Date d'inscription dimanche 21 décembre 2003 Statut Modérateur Dernière intervention 4 septembre 2013 12
8 avril 2009 à 22:28
rien de compliqué, il suffit de t'inspirer des sources sur les carrousel dispos sur ce site. Celle, de Gremlins7 devrait correspondre à ce que tu cherches.

Peg'
3
cs_bali_balo Messages postés 1378 Date d'inscription samedi 9 octobre 2004 Statut Membre Dernière intervention 1 novembre 2010 1
9 avril 2009 à 11:28
Salut à tous,
je n'ai pas lu le 1er post de 'projer' mais je voudrais juste faire une remarque à Peg'

<<<
De mémoire, tu ne peux pas contrôler la profondeur des clips déjà
présents sur la scène et qui n'ont pas été placés par actionscript.
>>>
Oui c'est possible. Il suffit de faire un swapDepths() avec une profondeur positive (genre avec getNextHighestDemth()) sur le clip posé sur la scène. Donc il devient comme un clip créé dynamiquement.

bali_balo....=]
3
cs_bali_balo Messages postés 1378 Date d'inscription samedi 9 octobre 2004 Statut Membre Dernière intervention 1 novembre 2010 1
9 avril 2009 à 11:28
getNextHighestDepth() pardon

bali_balo....=]
3
projer Messages postés 112 Date d'inscription lundi 6 avril 2009 Statut Membre Dernière intervention 17 janvier 2015
9 avril 2009 à 23:00
J'ai essayé tous les depths de flash, aucun de fonctionne, même en modifiant leur code avec des valeurs fixes... A mon avis, ça ne fonctionne pas sur un clip se trouvant sur un guide de mouvement...

Je ferai quelques tests demain dans ce sens pour tester :)
3
cs_bali_balo Messages postés 1378 Date d'inscription samedi 9 octobre 2004 Statut Membre Dernière intervention 1 novembre 2010 1
10 avril 2009 à 01:55
Ah bah si c'est clip se trouvant sur un guide de mouvement c'est autre chose :D
J'ai jamais testé mais il y a peu de chance à mon avis...
bali_balo....=]
0
Rejoignez-nous