as3複製可視物件
一,複製舞台上的影片剪
方法1——反射方法:
var classref:class = getdefinitionbyname(getqualifiedclassname(t_mc)) as class;
var clone_mc:displayobject = new classref();
addchild(clone_mc);
方法2——構造器方法:
var classref:class = t_mc.prototype.constructor;
var clone_mc:movieclip = new classref();
addchild(clone_mc);
二,複製loader載入的swf
複製外部載入的swf是乙個相對高階的操作,步驟比較多,過程相對複雜,要闡述清楚原理細節需要很大篇幅的文字,因此,這裡我就偷懶不詳細寫說明了,純用**來說明問題,希望對看得懂的朋友起到拋磚引玉的作用。
方法1——bytearray深度複製
var byteloader:urlloader = new urlloader();
byteloader.dataformat = urlloaderdataformat.binary;
byteloader.addeventlistener(event.complete, loadcompletehandler);
var loader:loader = new loader();
loader.y = 200;
addchild(loader);
loader.contentloaderinfo.addeventlistener(event.init, loadinithandler);
function loadinithandler(evt:event):void
byteloader.load(new urlrequest("t.swf"));
function loadcompletehandler(evt:event):void
簡單原理:用urlloader將外部的swf以二進位制資料格式載入到bytearray中,然後用loader類的loadbytes去載入urlloader中的bytearray。
var loader:loader = new loader();
loader.y = 200;
addchild(loader);
loader.contentloaderinfo.addeventlistener(event.init, loadinithandler);
var context:loadercontext = new loadercontext();
loader.load(new urlrequest("t.swf"), context);
function loadinithandler(evt:event):void
注意:
1.以上兩種複製方法,由於都需要載入swf檔案,因此需要檔案級別的本地安全性;
c 複製陣列的多種方法
方法一 使用for迴圈 int pins int copy new int pins.length for int i 0 i copy.length i 方法二 使用陣列物件中的copyto 方法 int pins int copy2 new int pins.length pins.copyto...
AS3中讀取子物件的四種方法
這段日子在公司實習,學習新語言actionscript3,遇到過這麼乙個問題,在容器中獲取子物件,大部分的回答都是三種 getchildat getchildbyname getobjectsunderpoint 但是有時候通過這三種方法很難get到想要的物件,而且效率除了第一種,其他的也都不高,那...
as3遍歷物件所有屬性的方法
as3遍歷物件所有屬性的方法 包含flex 1 所有物件,包括靜態屬性和動態屬性 objectutil.getclassinfo this.arr 0 properties as array 2 僅能遍歷靜態屬性 var o object new object o.name mm o.type si...