2014-03-02 56 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