0

我正在尝试通过我的“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”函数......当然,它不起作用:(

4

1 回答 1

0

您可以为同一函数分配任意数量的事件侦听器。关键(我认为这可能是您的问题)是您要设置为侦听器的函数必须在您尝试这样做的上下文中可见。

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

假设复选框是在与 column 相同的范围内创建的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);
于 2012-11-21T00:24:18.863 回答