2010-12-11 7 views
0

J'ai un fichier fla/swf, avec 6 boutons avec tous leurs effets de survol et autres, mais ils sont tous sur le même calque. Donc assigner un lien à chacun via actionscript est déroutant car je l'ai fait seulement s'ils étaient sur des calques différents.Affectation de liens aux boutons - Tous sur la même couche

Des conseils sur la façon d'y parvenir? (Utilisation de Flash cs4)

Répondre

1

En général, cela ne fait aucune différence s'ils sont sur la même couche ou non. Vous devez attribuer un nom d'instance à chaque bouton (par exemple « button01 » et « button02 » et vous pouvez les différencier comme:

function init():void { 
    button01.addEventListener(MouseEvent.MOUSE_CLICK,onActionPerformed,false,0,true); 
    button01.addEventListener(MouseEvent.MOUSE_CLICK,onActionPerformed,false,0,true); 
} 

function onActionPerformed(e:MouseEvent):void { 
    switch(e.currentTarget) { 
     case button01: navigateToUrl(/*put your link in here*/); break; 
     case button02: navigateToUrl(/*Put another link in here*/); break; 
    } 
} 
+0

J'ai réussi à délier les jambes et obtenir tout codé sans erreur de compilation , mais aucun des boutons ne naviguait en fait de l'url ....
homeButton.addEventListener (MouseEvent.CLICK, onActionPerformed, faux, 0, true);
cas homeButton: navigateToURL (nouveau URLRequest ("http : //google.com ")," _blank "); pause;
Est le format général que j'ai suivi, et les boutons instanc Le nom est renommé homeButton. –

+0

Mettez toujours un peu de trace ('quelque chose'): appels de fonctions dans vos fonctions pour voir si elles sont appelées du tout. Si la fonction onActionPerformed est appelée une fois que vous cliquez sur un bouton, assurez-vous que l'un des cas est appelé. Peut-être que e.currentTarget n'est pas votre "homeButton" ou tout autre bouton auquel vous vous attendez. – malthoff

Questions connexes