2013-09-05 3 views
1

Sur la scène j'ai un trois type de MovieClips Peu de MovieClips statiques dont le nom est: mc1; mc2; mc3 .... elles sont visibles sur scène Peu de movielips statiques "othermc1; othermc2l othermc3 ... et elles ont" visible = false " Un movieclip qui se déplace sur la scène et son nom est" slider " J'ai fonction quand mc « curseur » croise un des reste de CM1, CM2 ... à tourner othermc1 visible, othermc2Boucle as3; la fonction se croise; OnEnterFrame

var alreadyHandled:Boolean = false; 

addEventListener(Event.ENTER_FRAME, onEnterFrame); 

function onEnterFrame(e:Event):void 
{ 
    if(mc1.getRect(this).intersects(slider.getRect(this))) 
    { 
     if(!alreadyHandled) 
     { 
      show1(); 
      alreadyHandled = true; 
     } 
    } 
    else 
    { 
     alreadyHandled = false; 
     no1(); 
    } 

function show1():void 
{ 
    othermc1.visible = true; 
} 
function no1():void 
{ 
    othermc2.visible = false; 
} 

Comment puis-je utiliser ce code dans la boucle? Merci pour l'aide

+0

Qu'est-ce que vous essayez de boucle? Et est-ce tout le code que vous avez dans votre fichier? – Scope

+0

en faisant une boucle voulez-vous dire le test contre tous les clips vidéo (mc1, mc2, ..., othermc1, othermc2, ..), pas seulement mc1? –

Répondre

1

Si vous voulez boucle à travers mc1, mc2, mc3, ... créer un Array de MovieClip s:

var movieClips:Array = [mc1,mc2,mc3/*,other...*/]; 

Utilisez ensuite for itérer sur les éléments du tableau:

for(var i:int=0; i<movieClips.length; i++){ 
    //do some thing with movieClips[i] 
} 

Ce code peut vous aider:

var mc:Array = [mc1,mc2,mc3/*,...*/]; 
var omc:Array = [othermc1,othermc2,othermc3/*,other...*/]; 
addEventListener(Event.ENTER_FRAME, onEnterFrame); 

function onEnterFrame(e:Event):void 
{ 
    for(var i:int=0; i<mc.length; i++) 
     if(mc[i].getRect(this).intersects(slider.getRect(this))) 
      showMovieClip(i); //or omc[i].visible=true; 
     else 
      hideMovieClip(i); //or omc[i].visible=false; 
} 
function showMovieClip(i:int):void 
{ 
    omc[i].visible = true; 
} 
function hideMovieClip(i:int):void 
{ 
    omc[i].visible = false; 
} 
Questions connexes