prob avec timeline.currentframe
bonjour,
voila, j'aimerai recuperer un bout de clip avec un bouton et le le rejouer.
donc j'ai mon scénario et sur la 1ere image d'un calque1, mon clip imbriqué : rotation (interpolation de mouvement de rotation toute bete de 137 images(base 0))
j'y ai mis un rollover qui le fait stopper et apparaitre un menu de boutons (situés sur un autre calque). Ceux ci (avant autre chose) devraient aller renifler la position de la tete de lecture sur mon clip rotation pour, a partir de cet endroit en jouer un bout afin de lamener sur l'image que je souhaite.
Pour l'instant j'essaie juste de voir si la commande de "reniflage" fonctionne et d'avoir en sortie la position de la tete de lecture sur mon clip rotation.
les conditions (if, else if et else) me permettent de savoir l'intervalle d'arret de la tete pour apres lui donner le sens et son futur point darret.
j'ai placé sur la 1ére image de rotation, ;
Code:
var curframe:Number = 0;
puis sur le 1er bouton;
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| on (release){
var curframe:Number = _root.rotation.getTimeline().currentFrame;
if (0 < curframe < 17){
trace(curframe);
trace("1");
} else if (18 < curframe < 52){
trace(curframe);
trace("2");
} else if (curframe == 52){
trace("52");
} else if (53 < curframe < 85){
trace("3");
} else if (86 < curframe < 120){
trace("4");
} else if (curframe == 120){
trace("120");
} else (121 < curframe < 136){
trace("5");
};
} |
Mais la, les trace ne me renvoient rien en sortie :(
Alors je me demande si le chemin pour la variable est bien nommé, si c'est elle qui est mal formulée, ou si ma structures de conditions est bien tournée pour etre remarquée.
Je sais que certaines conditions peuvent etre reunies, mais je débute et je ne connais pas tous les opérateurs.
Merci d'avance, car c pas marrant de passer 1 journée sur chaque petit soucis qui une fois compris prennent 2 min :/
rien, meme en redefinissant la timeline active
merci, par contre je ne peux pas ajouter le fla, car meme en supprimant tous les trucs inutiles pour ce probleme, j'arrive à 580ko, et le site me dit que j'ai dépassé mon quota de 79, alors que la limite est de 1mo :/
j'ai corrigé mon oubli (if). Sinon suite à ta remarque, j'ai potassé l'aide de flash, et j'ai donc vu qu'il fallait redéfinir la timeline actuelle d'abord. J'utilise la comparaison des longeurs comme condition pour que la var i en position 0soit "rotation", si c bien ça. J'ai copié les 7 premières lignes dans l'aide en modifiant name == myscene pour mon clip evidemment et j'y ai rajouté ma variable de référence pour les conditions d'apres :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
|
on (release){
var i = 0;
var curTimelines = fl.getDocumentDOM().timelines;
while(i < fl.getDocumentDOM().timelines.length){
if(curTimelines[i].name == "rotation"){
fl.getDocumentDOM().currentTimeline = i;
}
++i;
var curframe = i;
if (0 < curframe < 17){
trace(curframe);
trace("1");
} else if (18 < curframe < 52){
trace(curframe);
trace("2");
} else if (curframe == 52){
trace("52");
} else if (53 < curframe < 85){
trace("3");
} else if (86 < curframe < 120){
trace("4");
} else if (curframe == 120){
trace("120");
} else if(121 < curframe < 136){
trace("5");
};
};
} |
mais il sa passe toujours rien ;( toujours pas de trace en sortie.
j'ai supprimé la variable placée sur la 1ère image de rotation, ca ne me paraissait pas utile en fait.
je précise que je travaille avec flash 8.
frame detectée dans la timeline que je veux!
Alors j'ai trouvé comment avoir la position de la tête de lecture dan sla timeline que je souhaite. Visiblement c'etait une erreur de syntaxe par rapport a mon premier essai. Et donc je pense qu'elle etait déclarée, mais mal formulée. voila la bone variable :
Code:
1 2
| var image = _root.rotation._currentframe
var curframe:Number = image |
sinon ça, ça marche aussi
Code:
1 2
|
var curframe = _root.rotation._currentframe |
Finalement je vais garder la 2ème, j'ai l'impression que la 1ère complique les choses.
Maintenant il reste que les conditions trace (trace "1", trace "2"...) ne s'appliquent pas, je continue mes recherches de mon coté.