2015-12-17 3 views
-2

S'il vous plaît aider, j'ai ce problème, j'ai essayé d'accéder au movieclip en utilisant son nom, mais a échoué.TypeError: Erreur # 1009: Impossible d'accéder à une propriété ou une méthode d'une référence d'objet nul. import flash.events.MouseEvent; import flash.display.MovieClip;Comment accéder à MovieClip en utilisant une chaîne de caractères?

var i = 5; 
var me:Array = new Array("num1-xd", "num2-xd2","num3-xd3"); 
var cool:Array; 
var sq:Square; 
for each(var wew:Object in me) 
{ 
    //trace(me); 
    cool = wew.split("-"); 
    sq = new Square(); 
    sq.x = 3; 
    sq.y = sq.height + i; 
    i += sq.height + 4; 
    sq.name = String(cool[1]); 
    sq.instanceName = String(cool[1]); 
    addChild(sq); 
    sq.addEventListener(MouseEvent.CLICK, function(e:MouseEvent):void 
    { 
     trace(e.target.name); 
    }); 
} 

stage.addEventListener(MouseEvent.CLICK, KeyisDown); 
function KeyisDown(e:MouseEvent) 
{ 
    var me2:String = "xd"; 
    var me3:DisplayObject = stage.getChildByName(me2); 
    me3.x += 5; 
} 



// Please Help i can't access "xd" movieclip on the stage and make it move. 

Répondre

0

En supposant que vous avez juste le MovieClips sur le scénario principal, vous pouvez essayer cette [ "xd"] = x + 5. ou ce [me2] .x + = 5;

+1

merci, ça marche après avoir enlevé « stage.getChildByName (ME2); il devrait être getChildByName (me2); –

0

Si vous déclarez les variables sur scène

Utilisation:

this.xd

this.xd.x += 5;