2015-03-13 65 views
0

當元素處於舞臺上時,我想獲取庫中元素的名稱。 如果我不能,我想獲得「AS3鏈接」的名稱。ActionScript - 獲取庫中元素的名稱或「鏈接到AS3」的名稱

enter image description here

我試着用這個代碼:

for (var i=0; i<this.numChildren; i++){ 
    trace("Movie Name: "+this.getChildAt(i).name); 
    trace("Movie Class: "+getQualifiedClassName(this.getChildAt(i))); 
    trace("Movie Super Class: "+getQualifiedSuperclassName(this.getChildAt(i))); 
} 

但我只得到這樣的: 電影名稱:INSTANCE1 電影類:flash.display使用::位圖 電影類:flash.display使用:: DisplayObject

+1

到底爲什麼你要這麼做?請詳細說明你的目標。你想用圖書館名稱做什麼? – null 2015-03-13 17:31:27

+0

我不知道你爲什麼需要,但看看[這裏](http://stackoverflow.com/questions/2211001/flash-as3-getting-a-list-of-library-objects)和[這裏](http://stackoverflow.com/questions/12084097/how-to-list-objects-in-library-using-as3-at-runtime)可能是你可以找到的東西。 – akmozo 2015-03-13 19:04:21

回答

0

在你的庫中有三個圖像。圖像的鏈接名稱代表BitmapData類。您不能將BitmapData直接添加到舞臺。首先,創建一個BitmapData實例:

var bitmapData:BitmapData = new SomeBitmapData(); 

SomeBitmapData它是圖像的鏈接名稱。

enter image description here

然後添加Bitmap類的一個實例:

var bitmap:Bitmap = new Bitmap(bitmapData); 
addChild(bitmap); 

如果你想獲得鏈接名稱例如SomeBitmapData你應該寫:

trace(getQualifiedClassName(bitmapData)); // SomeBitmapData 
1

這是不可能從庫中得到的名稱。它僅供Flash IDE使用,不會導出。

要在舞臺上的位圖獲取類的名字,你可以試試這個:

var bitmapData:BitmapData = Bitmap(getChildAt(0)).bitmapData; 
trace(getQualifiedClassName(bitmapData))