Function 从另一个MC启动一个函数
我试图通过我的“复选框”MC中的eventListener从我的“列”MC中触发一个函数。有没有可能,或者我应该换个角度看 我的“列”MC代码: 这是我的“复选框”MC中的代码: 如您所见,我向两个不同的EventListener添加了“actPoint”函数。。。Function 从另一个MC启动一个函数,function,actionscript,movieclip,Function,Actionscript,Movieclip,我试图通过我的“复选框”MC中的eventListener从我的“列”MC中触发一个函数。有没有可能,或者我应该换个角度看 我的“列”MC代码: 这是我的“复选框”MC中的代码: 如您所见,我向两个不同的EventListener添加了“actPoint”函数。。。 …当然,它不起作用:(您可以为同一个函数分配任意多的事件侦听器。关键(我认为这可能是您的问题)是,您要设置为侦听器的函数必须在尝试执行此操作的上下文中可见 我认为您的问题在于,当您尝试在复选框上创建click listener(单击
…当然,它不起作用:(您可以为同一个函数分配任意多的事件侦听器。关键(我认为这可能是您的问题)是,您要设置为侦听器的函数必须在尝试执行此操作的上下文中可见 我认为您的问题在于,当您尝试在复选框上创建click listener(单击侦听器)时,您实际上没有在列
MovieClip
中引用actPoint
方法(如果您在控制台中发布任何错误消息,我们可能能够对此进行确认)
假设该复选框是在与列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);
从您的描述中,我不能100%确定您正在尝试做什么。该功能是否在您的列movieclip中的一个帧上,并且当用户单击复选框(cbPlus_btn)时您正在尝试执行它?有一个带有我上面提供的代码的“列”MC。当我单击嵌套在“列”中的按钮时MC,它在同一个“列”MC中触发actPoint函数。然后还有另一个电影剪辑“复选框”,其中包含复选框。我想实现的是,当有人选中“复选框”中的复选框时MC并单击OK,actPoint函数将被触发。我不知道是否可以将两个不同MC中的两个事件侦听器分配给一个函数……因此,
s我问的是:)它仍然不工作:(我的columnMC有一个实例名为“c1”,但这并不重要。“c1”MC位于舞台上,包含我在本帖开头发布的代码。在我的“c1”MC旁边,也在舞台上,是我的“复选框”MC,我在其中放入了您建议的代码,并将“columnMC”更改为“c1”:看起来像这样:cbPlus_btn.addEventListener(MouseEvent.CLICK,c1.actPoint);函数c1.actPoint(m:MouseEvent):void{trace(“something”)}它给出:error1084:syntaxrorrexpecting leftparen before dot。我上面发布的代码(当然用正确的实例名更新)应该在主时间线上的一个框架上(与您的列和复选框movieclips处于同一级别)。如果将代码放在复选框中,则列剪辑及其方法将不可见。此外,上述注释中的伪函数声明无效(这就是引发错误的原因)。不过这不重要,因为我们正在尝试将侦听器分配给列剪辑中的方法。
cbPlus_btn.addEventListener(MouseEvent.CLICK, actPoint);
// 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);