从另一个MC发起一个功能

时间:2012-11-20 19:08:56

标签: function actionscript movieclip

我试图通过我的“checkBoxes”MC中的eventListener从我的“列”MC内部触发一个函数。它是否可能或者我应该采用不同的方式?

我的“专栏”MC代码:

act_btn.addEventListener(MouseEvent.CLICK, actPoint);
function actPoint(m:MouseEvent){
cA.height = cA.height + 10;
var clickSound:pointPlus = new pointPlus ();
clickSound.play(0,1);
if(cA.height == 200){
act_btn.removeEventListener(MouseEvent.CLICK, actPoint);
}
}

这是我的“checkBoxes”MC的代码:

cbPlus_btn.addEventListener(MouseEvent.CLICK, actPoint);

如您所见,我将“actPoint”函数添加到两个不同的eventListeners中...... ......当然,它不起作用:(

1 个答案:

答案 0 :(得分:0)

您可以根据需要为同一个函数分配任意数量的事件侦听器。密钥(我认为这可能是您的问题)是您要设置为侦听器的函数必须从您尝试执行此操作的上下文中可见。

我认为您的问题是,当您尝试在复选框上创建单击侦听器时,您实际上并未在列actPoint中引用MovieClip方法(如果您发布任何错误消息,在控制台中看到我们可以确认这一点。

假设复选框是在与列MovieClip相同的范围内创建的,并假设它具有实例名称,您应该能够通过更改在检查上添加事件侦听器的代码来解决您的问题框如下:

// Reference the method via the MovieClip instance which contains it
// Assumes column MovieClip has an instance name of columnMC
cbPlus_btn.addEventListener(MouseEvent.CLICK, columnMC.actPoint);