2015-04-28 2 views
0

J'ai un problème en ce qui concerne MovieClips ...Comment accéder à un cadre à l'intérieur d'un MovieClip à l'intérieur un autre MovieClip

Sur mon scénario principal, il y a 2 MCs et à l'intérieur MC1 il y a un bouton qui - quand on clique dessus - devrait sortez-moi à l'image 10 de MC2 (sur le scénario principal) ...

Mon code de bouton (à l'intérieur MC1):

btn_standard.addEventListener(MouseEvent.CLICK, standard_click); 

function standard_click(myNextEvent:MouseEvent):void { 
    MovieClip(root).mc2.gotoAndPlay(10); 
} 

Il n'y a pas d'erreur, mais cependant le bouton ne fonctionne pas .. Quelqu'un peut-il m'aider s'il vous plaît! :-(

EDIT: Voici un sample file - même problème

+0

Votre code semble bien. Essayez de changer gotoAndPlay en gotoAndStop. Si cela ne vous aide pas, pouvez-vous joindre FLA? – subdan

+0

ni jouer ni arrêter fonctionnera ...: -/ J'ai ajouté un échantillon rapide .fla à ma question pour visualiser mon problème ... – Infaust

Répondre

0

Pourquoi ne pas ajouter le code AS3 sur le calendrier principal au lieu de l'intérieur de MC1, comme ceci:

mc1.btn_standard.addEventListener(MouseEvent.CLICK, standard_click); 

function standard_click(myNextEvent:MouseEvent):void { 
    mc2.gotoAndPlay(10); 
} 
+0

ne fonctionnait pas non plus ... mc2.gotoAndPlay (10) ne fonctionne que si mc1 et mc2 sont tous deux sur la même image - mais j'en ai besoin sur des images différentes ... – Infaust

+0

Ensuite, je suppose que vous avez ajouté MovieClips et leurs tweens à la main au scénario principal. Ce n'est pas très intelligent si vous voulez faire autre chose que de simples animations. Ajoutez ces MovieClips par code et il vous sera plus facile de les manipuler. – Antizam

0

Ce code coutume! travail, car dans le cadre il n'y a pas mc2 1-er:

function standard_click(myNextEvent:MouseEvent):void { 
    MovieClip(root).mc2.gotoAndStop(10); 
} 

Dispatch tout événement de ce MovieClip après un clic de souris:

function standard_click(myNextEvent:MouseEvent):void { 
    dispatchEvent(new Event(Event.COMPLETE)); 
} 

Ajouter le code suivant à la première image du scénario principal:

import flash.events.Event; 

stop(); 

mc1.addEventListener(Event.COMPLETE, onComplete); 
function onComplete(event:Event):void 
{ 
    gotoAndStop(10); 
    mc2.gotoAndStop(10); 
}