2015-04-26 28 views
0

。 嗨,AS2目標剪輯內功能沒有響應

我被卡住的東西看起來很簡單,但任何幫助將是偉大的。

我在舞臺上的3個剪輯和我的陣列設置了自己的名字,如所謂

var enemyArray:Array = new Array(); 
enemyArray.push("boo1"); 
enemyArray.push("boo2"); 
enemyArray.push("boo3"); 

我想用我的「激光」打這些(邪惡的聲音博士)

在這裏,我用我的數組中的剪輯名稱定義「目標」,它的括號中的數字變量「enemy」。

enemy=0; 
target=_root.enemyArray[enemy]; 

function updateLaser() :Void 
{  
trace("target= "); 
trace(target); 

執行該函數時,上面的跟蹤返回數組「boo1」中正確的剪輯名稱。

_root.laserBeam.clear(); 
_root.laserBeam.lineStyle(2, 0xFF0000, 100); 
_root.laserBeam.moveTo(startX, startY); 
_root.laserBeam.lineTo(target._x, target._y); 
} 

然而繪製梁時,一定要去0,0,而不是有針對性的夾子「目標」的立場。

當曲線返回正確的剪輯名稱時,如何獲取剪輯X,Y?

此外,如果我強制直接剪輯名稱來測試,它工作正常。但是這當然需要動態。

_root.laserBeam.lineTo(boo1._x, boo1._y);//<< test only, no use. 

我也嘗試命名帶有根前綴的數組名,但沒有奏效。

enemyArray.push("_root.boo1");//test only, no use 

我到底做錯了什麼?哈哈謝謝!

回答

0

Ugggh,就在我的面前。

我推加引號的姓名,

enemyArray.push("boo1"); 

雖然它正確返回剪輯的-name-,覺得沒什麼意思,因爲它沒有正確添加實際剪輯本身的-path- 。

刪除引號會返回剪輯所處的正確級別,而不僅僅是名稱。

enemyArray.push(boo1); 

現在很好用。