SwapDepths

Résolu
Signaler
Messages postés
112
Date d'inscription
lundi 6 avril 2009
Statut
Membre
Dernière intervention
17 janvier 2015
-
Messages postés
1378
Date d'inscription
samedi 9 octobre 2004
Statut
Membre
Dernière intervention
1 novembre 2010
-
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

Messages postés
6138
Date d'inscription
dimanche 21 décembre 2003
Statut
Modérateur
Dernière intervention
4 septembre 2013
11
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'
Messages postés
112
Date d'inscription
lundi 6 avril 2009
Statut
Membre
Dernière intervention
17 janvier 2015

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...
Messages postés
112
Date d'inscription
lundi 6 avril 2009
Statut
Membre
Dernière intervention
17 janvier 2015

Les 2 rectangles sont sur le même calque pour info :)
Messages postés
6138
Date d'inscription
dimanche 21 décembre 2003
Statut
Modérateur
Dernière intervention
4 septembre 2013
11
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'
Messages postés
112
Date d'inscription
lundi 6 avril 2009
Statut
Membre
Dernière intervention
17 janvier 2015

Ouaip, c'est ce que je fini par croire aussi :)

Mais pour faire tourner 12 panneaux voire plus, ça promet un code sympa :)
Messages postés
6138
Date d'inscription
dimanche 21 décembre 2003
Statut
Modérateur
Dernière intervention
4 septembre 2013
11
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'
Messages postés
1378
Date d'inscription
samedi 9 octobre 2004
Statut
Membre
Dernière intervention
1 novembre 2010
1
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....=]
Messages postés
1378
Date d'inscription
samedi 9 octobre 2004
Statut
Membre
Dernière intervention
1 novembre 2010
1
getNextHighestDepth() pardon

bali_balo....=]
Messages postés
112
Date d'inscription
lundi 6 avril 2009
Statut
Membre
Dernière intervention
17 janvier 2015

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 :)
Messages postés
1378
Date d'inscription
samedi 9 octobre 2004
Statut
Membre
Dernière intervention
1 novembre 2010
1
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....=]