As3 getChildByName Sorunsalı
Yazım tarihi: Şubat 8, 2012 Filed under: ActionScript | Tags: actionscript 3, as3 getchildbyname sorunu, getChildByName, getChildByname as3 Leave a comment »Actionscript ile uygulama geliştirirken bir çok hatayla karşılaşabilirsiniz. Bunların bazıları dikkat dağınıklığı olsada bazılarıda flashtan kaynaklanabiliyor ve kendimiz bu sıkıntıya çözüm üretmek zorunda kalabiliyoruz. Çözüm için internette de araştırdığımda benimle aynı sıkıntıyı yaşayan bir kaç kişiyi daha gördüm.
Linkage ile oluşturduğum bir objeye statik olarak bir değişken atamak istediğimde içine getChildByName ile ulaştığımda hata ile karşılaşıyordum “undefined property” bunu çözebilmek için yapmam gereken yok ise basit bir yolmuş şöyle ki ;
var box:Box = new Box();
box.name = "box";
box.walk = true;
addChild(box);
var w:Boolean = MovieClip(getChildByName("box") as Box).walk
trace(w);
İlk olarak Box adında Linkagedan yani Libraryimden bir obje çekip sahneye ekliyorum. Daha sonra eklediğim objeme statik olarak içine bi değişken saklıyorum ve bu değişkenle oynuyorum. Bunu kullanmaya çalıştığımda yukarıda bahsettiğim hatayla karşılaşıyordum. Mantık ise şu;
Bir değişken oluşturdum. Boolean değerini sakladı sebebi ise dönen değerin yukarıda belirttiğim gibi boolean bir değer olmasıydı. box.walk = true; eğer string bir değer olsaydı string değer verirdim. Daha sonra ise linkage ile eklediğim objeme ait olduğunu bildiriyorum. as Box bu şekilde demiş oluyorum ki ; Movieclibin içinde Box ile ilgili bir değişkenim var ve bu şekilde o değişkeni çekebilir ve üzerinde oynamalar yapabilirim.