Simuler un clic sur un bouton avec l'instruction release()

karpediem Messages postés 49 Date d'inscription mardi 30 mars 2004 Statut Membre Dernière intervention 22 septembre 2014 - 23 mars 2009 à 01:58
karpediem Messages postés 49 Date d'inscription mardi 30 mars 2004 Statut Membre Dernière intervention 22 septembre 2014 - 30 mars 2009 à 01:57
Re-Bonjour @ toutezéatous, c'est encore moi !


J'ai sur ma page une animation flash qui présente une carte de France
avec ses régions. Si l'on clique sur une région, on arrive sur un
département. Tout va bien jusque là.


Ce que je souhaiterais faire c'est simuler le clic de l'utilisateur sur une région.

Mon animation est composée d'un clip général "france" avec x clips régions nommés reg_x.

J'ai mis le code suivant :

_root.france["reg_"+num_region].release() ;

Malheureusement cette instruction ne fonctionne pas, pourtant mon num_region est bien affecté à la bonne valeur ;-(

J'ai aussi essayé pour tester  _root.france.reg_11.release()
pensant que je serais emmenée directement sur la région 11, mais ça ne
fonctionne pas non plus... pourtant mon clip reg_11 est bien sur ma scéne lorsque j'envoie l'instruction et cj'est bien un bouton...


Soit mon instruction .release() n'a pas le comportement que je pensais
qu'il aurait, soit je ne mets pas mon instruction au bon endroit, soit je n'ai pas les yeux en face des trous, soit je vais finir par m'arracher tous les cheveux qu'il me reste...


Quelqu'un aurait-il svp une idée pour combler mon ignorance ?


Excellente nuit @ toutezéatous et à bientôt !

5 réponses

Orange73 Messages postés 1375 Date d'inscription dimanche 28 novembre 2004 Statut Membre Dernière intervention 2 août 2011
23 mars 2009 à 09:55
Hello,

Qu'entend tu par "Ce que je souhaiterais faire c'est simuler le clic de l'utilisateur sur une région." ?
0
karpediem Messages postés 49 Date d'inscription mardi 30 mars 2004 Statut Membre Dernière intervention 22 septembre 2014
23 mars 2009 à 11:27
Bonjour !

C'est sûr que ce n'est pas très clair, alors je m'explique...

Mon movieclip "france" est constitué de 22 clips-boutons nommés "reg_1", "reg_2", ... "reg_22" représentant chacun une région. Le numéro de region est stockée dans une variable "this.no" et le nom de mes clips région sont stockés dans un tableau "tb_region".

Dans ma bibliothèque j'ai 22 clips correspondant chacun a un zoom de la région avec ses départements qui son nommés "dep_reg_X".

Lorsque l'on clique sur une région (clips-boutons), je fais un attachmovie dans un clip vide, je charge le clip correspondant au zoom région et j'y vais. Par exemple, un clic sur reg_12 va charger le clip dep_reg_12.

Les noms de mes clips région sont stockés dans un tableau "tb_region".

Au chargement de mon animation, je fais une boucle qui parcourt mon tableau "tb_region" (où sont stockés mes noms de région) pour leur associer un comportement identique à tous au onRelease de la façon suivante :

for (var = i ; i <= tb_region.length ; i ++ ) {
  _root.france["reg_" + i ].onRelease = function () {
       // j'ai plusieurs instructions dont :
       ExternalInterface.call("fonction_js", "val1", "val2") ;
       // mise à jour d'un SharedObject. C'est à cause de lui que je souhaite "simuler le clic"
       SO.data.ma_region = this.no ;
       SO.flush();
       // je lui indique le nom du movieclip qu'il faudra chager correspondant à cette région
        _root.region.attachMovie("dep_reg_"+this.no, "dep_reg", 10);
        _root.gotoAndStop("departement") ; // là où se trouve mon clip vide
    }

Le problème que je rencontre, d'où le fait de vouloir "simuler un clic" c'est que mon animation est sur une page web et si je suis sur un zoom région et que ma page est rafraichie (notamment par la validation d'un formulaire qui se trouve également dans la page), mon animation se remet au début (carte de France) alors que je souhaiterai qu'elle reste sur le zoom région.
Alors j'ai pensé utiliser le SharedObject et s'il est différent de 0 => faire "comme si" l'utilisateur avait cliqué sur une région et donc charger le movieclip correspondant, se positionner sur l'image "departement" et faire au passage le ExternalInterface.call, etc...

J'espère que c'est un peuu plus clair maintenant...

Merci et @ +
0
karpediem Messages postés 49 Date d'inscription mardi 30 mars 2004 Statut Membre Dernière intervention 22 septembre 2014
26 mars 2009 à 03:22
Bonsoir, c'est encore moi...

 
Je n'ai toujours pas trouvé de solution comme ça fait déjà plusieurs jours que
je m'arrache les cheveux sur ce problème et je vais bientôt atteindre
la calvitie complète ;o)))

Quelqu'un aurait-il svp une idée ?
 
Merci et bonne nuit !
0
karpediem Messages postés 49 Date d'inscription mardi 30 mars 2004 Statut Membre Dernière intervention 22 septembre 2014
30 mars 2009 à 01:52
Bonjour  @ toutezéatous,

J'ai trouvé d'où venait mon pb grâce à Zedlefou ;o))

C'était tout simple, il fallait envoyer un onRelease() au lieu du release().

Merci @ toutezéatous et excellente nuit....
0

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

Posez votre question
karpediem Messages postés 49 Date d'inscription mardi 30 mars 2004 Statut Membre Dernière intervention 22 septembre 2014
30 mars 2009 à 01:57
Juste une précision, pour rendre à beekeep ce qui est à beekee, c'est lui qui a trouvé la solution et non Zedlefou... Zedlefou, lui m'a aidé mais sur un autre point.

Encore un grand MERCI à eux 2 en particulier, mais aussi à tous ceux qui interviennent sur ce chouettosse forum !
0
Rejoignez-nous