2014-03-02 87 views
0

我在AS 3.0中有一個拖放項目,我需要關於發送實例名稱作爲參數的幫助。實例名稱作爲參數

這裏是我的代碼(正常工作):

item1.addEventListener(MouseEvent.MOUSE_DOWN, fl_ClickToDrag); 
item2.addEventListener(MouseEvent.MOUSE_DOWN, f2_ClickToDrag); 
item3.addEventListener(MouseEvent.MOUSE_DOWN, f3_ClickToDrag); 
item4.addEventListener(MouseEvent.MOUSE_DOWN, f4_ClickToDrag); 

function fl_ClickToDrag(event:MouseEvent):void 
{ 
    item1.startDrag(); 
} 
function f2_ClickToDrag(event:MouseEvent):void 
{ 
    item2.startDrag(); 
} 
function f3_ClickToDrag(event:MouseEvent):void 
{ 
    item3.startDrag(); 
} 
function f4_ClickToDrag(event:MouseEvent):void 
{ 
    item4.startDrag(); 
} 

我能得到這樣的:

function all_ClickToDrag(event:MouseEvent, item:I don't know what to write):void 
{ 
    item.startDrag(); 
} 

我怎麼能寫這樣的事情,我該怎麼稱呼呢?例如我的功能有參數「事件」,我仍然沒有任何參數調用它:

item1.addEventListener(MouseEvent.MOUSE_DOWN, fl_ClickToDrag); 

如果我想發送第二個參數該怎麼辦。我希望你能幫助我。

注意:我也可以將MovieClip名稱作爲參數發送,但發送實例名稱會好得多。

回答

0

您可以使用事件

var itemSource:Object=event.target; 

的目標屬性格式不同,需要創建自定義事件和事件類和發貨,事件發送更多的信息。

+0

感謝您的幫助。編輯器沒有顯示.startDrag選項,但我寫了它,它的工作。 var itemSource:Object = event.target; itemSource.startDrag(); 我希望這是正確的使用。如果不是,仍然在等待你的幫助。再次感謝。 – Degauser