Forum de discussion
Forum « Flash et Shockwave » (archives)
Re: menu flash dynamique selon la page affichée
Envoyé: 23 août 2004, 11h19 par Oznog
Il faut trouver une façon d'indiquer au Flash dans qu'elle page il est. Un paramètre HTTP avec la méthode GET fera le travail sans problème.
// Par exemple, dans ta déclaration HTML du FLash
menu.swf?hPage=1
// ou
menu.swf?hPage=page1.htm
Ensuite, dans ton Flash tu récupère tout simplement la valeur ainsi :
_root.hPage;
Met sur le premier cadre du Flash ce code pour en faire la preuve et valider le principe :
trace(_root.hPage);
Maintenant ce qui est plus complexe c'est les boutons. Des dizaines de possibilités s'offre. Le code peux être plus ou moins complexe.
Un exemple simple est de mettre chaque bouton dans un clip à part.
1. Tu crée un nouveau symbole de type "movieClip" [CTRL-F8].
2. Clic ou sélectionne le cadre (frame) et ouvre la fenêtre Action Script [F9]. Ajoute un stop();
3. Tu glisse ton bouton 1 sur cette nouvelle deuxième image-clé.
4. Tu ajoute une image-clé sur le cadre 2 (frame 2) [F7].
5. Clic ou sélectionne le cadre 2 (frame 2) et ouvre la fenêtre Action Script [F9]. Ajoute aussi un stop();
6. Sur ce nouveau cadre (frame 2) tu glisse une image qui simule bouton appuyé. Attention, ne glisse pas un vrais bouton, de toute façon on a pas besoin du bouton puisque la page est ouverte.
Voilà, tu refait le tout avec chaque bouton.
De cette façon, tu peux faire au tout début de ton animation un test et un gotoAndStop(2) pour afficher l'état appuyé d'un des bouton selon le paramètre http passé.
switch (_root.hPage) {
case "1" :
monClip1.gotoAndStop(2)
break;
case "2" :
monClip2.gotoAndStop(2)
break;
}
Une solution encore plus simple est d'évaluer le nom du clip si tu utilise un numéro pour identifier les clips et que tu passe aussi le numéro via http.
// Dans le HTML
menu.swf?hPage=1
// Dans le Flash
eval("clip"+_root.hPage).gotoandStop(2);
Ciao
Oznog
Réponses
|