Stopper tete de lecture selon bouton cliqué

Résolu
cs_valeriet Messages postés 10 Date d'inscription lundi 8 août 2005 Statut Membre Dernière intervention 12 février 2007 - 29 janv. 2007 à 10:56
cs_valeriet Messages postés 10 Date d'inscription lundi 8 août 2005 Statut Membre Dernière intervention 12 février 2007 - 12 févr. 2007 à 10:56
Bonjour,

Voilà : j'ai plusieurs boutons sur mon animation, avec un stop au début.
J'aimerais que, lorsque j'appuie sur le premier bouton, mon anim se lit d'une image donnée (disons la n°100) à une autre (disons la n°200) puis appelle une URL. Mais si j'appuie sur un autre bouton, l'anim se lit à partir de la même image mais s'arrête plus loin (par exemple de la n°100 à la 400, puis appelle une autre URL).

Je ne peux donc pas installer d'action stop(); sur la timeline, je suppose que je dois déterminer chaque fonction au départ, puis un clic sur chaque bouton appellera la fonction rattachée à ce bonton.
Mais je n'y connais rien en fonction, ça devrait donner qqchose de ce genre ?
à mettre sur la première frame :
function machin (){
gotoAndPlay(100);
if(et là j'aimerais dire que quand on arrive à la frame 200 je stoppe et j'appelle telle URL, mais je sais pas comment);
}
function truc (){
gotoAndPlay(100);
if(quand on arrive à la frame 400 je stoppe et j'appelle une URL);
}

Pensez-vous que mon raisonnement est bon pour résoudre mon problème ? et comment demander à la tête de lecture de s'arrêter lorsqu'elle arrive à telle image ?

Merci pour vos réponses.
Cordialement,
valeriet

6 réponses

Mansuz Messages postés 169 Date d'inscription lundi 11 décembre 2006 Statut Membre Dernière intervention 25 janvier 2014 1
31 janv. 2007 à 19:04
Salut,

Je pense qu'il te faut créer une nouvelle variable parce qu'il te manque une info
quel bouton à été appuyé?

Voilà ce que j'ai fait:
Il faut créer une nouvelle variable qui="";

Sur le bouton 1 tu aura par exemple:
on(press){
_root.x=50;
_root.qui="bouton1";
}

Sur le bouton 2...
on(press){
_root.qui="bouton2";
_root.x=42;
}
Et dans le enterFrame tu aura:

onEnterFrame=function(){
//Une fois que l'on arrive à l'image voulu
if(_currentframe==x){
//Si l'utilisateur à appuyé sur le bouton1
if(qui=="bouton1"){
trace("Je lance mon liens1");
}
//Si l'utilisateur à appuyé sur le bouton2
if(qui=="bouton2"){
trace("Je lance mon liens2");
}
}
}

N'hésite pas à utiliser les variables pour communiquer entre différents éléments.
Là je crois qu'on tient le bon bout!

Je ne sait pas si j'ai était très claire...
3
Mansuz Messages postés 169 Date d'inscription lundi 11 décembre 2006 Statut Membre Dernière intervention 25 janvier 2014 1
29 janv. 2007 à 18:39
Salut,

Le paramètre _currentframe renvoie le numéro de l'image où se situe la tête de lecture.

Si la tête de lecture est à l'image 50 dans le clip nommé "anim"placé sur la scène.
position=_root.anim._currentframe

position sera = à 50
0
cs_valeriet Messages postés 10 Date d'inscription lundi 8 août 2005 Statut Membre Dernière intervention 12 février 2007
30 janv. 2007 à 09:31
Bonjour Mansuz
Merci pour le tuyau mais je n'y arrive toujours pas...

Voici ce que j'ai mis sur 1 des boutons :
on(press){
 truc();
}

Puis sur la frame principale :
function truc(){
 gotoAndPlay("nomdetiquette");
 if(_currentframe= 213){
  getURL("adresseURL","_parent");
 }
}

Mais ça ne marche pas, l'anim appelle tout de suite l'URL sans jouer jusqu'à la frame 213 !
et c'est la meme chose en définissant "position =-root._currentframe;" puis en appelant "position" sur la frame principale :

function truc(){
 gotoAndPlay("nomdetiquette");
 if(position=213){
  getURL("adresseURL","_parent");
 }
}

Comment faire pour voir vraiment l'animation jusqu'à la frame 213 avant d'être redirigé ???
0
Mansuz Messages postés 169 Date d'inscription lundi 11 décembre 2006 Statut Membre Dernière intervention 25 janvier 2014 1
30 janv. 2007 à 19:54
Salut,

1> Pour tester une égalité il faut mettre 2 signe =
if(_currentframe==213){ (Si la tête de lecture est à l'image 213 je fait ca).
}
De plus je ne sait pas si c'est vraiment la bonne solutions d'appeler la fonction avec un bouton.

on(press){(La fonction est appeller uniquement lors du passage à l'état normal
à l'état pressé.
truc();
}
Il faudrait plutôt faire tester à chaque instant.
Ca serait du style:
Sur les boutons:
on(press){
//On change la variable x(par exemple x=200;)
}
//Sur l'autre boutons.
on(press){
//On change la variable x(par exemple x=100;)
}
//sur la première image clé
onEnterFrame=function(){
if(_currentframe==x){ (si ton anim est sur la scène.
trace("Je lance mon liens");
}

Bon n'hésite pas si ta du mal à comprendre!
0

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

Posez votre question
cs_valeriet Messages postés 10 Date d'inscription lundi 8 août 2005 Statut Membre Dernière intervention 12 février 2007
31 janv. 2007 à 16:45
Hello Mansuz

Merci merci merci merci !!!

Voici ce que j'ai mis sur chaque bouton :

on(press){
 gotoAndPlay(frame de départ d'anim identique à chaque bouton);
 var x=frame d'arrivée personnalisée sur chaque bouton;
}

et sur la scène principale (où se situe toute l'animation) :
onEnterFrame=function(){
if(_currentframe==x){
 getURL("lien URL","_blank")}
}

Oups mais ça pose encore un problème : Le lien doit être différent à chaque bouton...
Comment remédier à ça ?
(euh oui je suis un peu nulle pardon...)
0
cs_valeriet Messages postés 10 Date d'inscription lundi 8 août 2005 Statut Membre Dernière intervention 12 février 2007
12 févr. 2007 à 10:56
Bonjour et merci beaucoup Mansuz !

La méthode fonctionne à merveille pour mon cas !

Je te souhaite une très bonne journée (et désolée pour la réponse tardive...)

valeriet
0
Rejoignez-nous