Actionscript 3 尝试添加EventListener时出现AS3错误1067(隐式强制)

Actionscript 3 尝试添加EventListener时出现AS3错误1067(隐式强制),actionscript-3,addeventlistener,Actionscript 3,Addeventlistener,所以我正在为一个游戏果酱开发一个排序游戏,而我的AS3技能还没有完善 我有一个InputManager.as,它决定设备是否支持触摸,然后在需要它的类中,获取该信息 我遇到的问题是: C:\GameDev\Progressive Bytes\Dan\Scripts\Screens\Buttons.as,第行 55 1067:将字符串类型的值隐式强制到不相关的 类型函数 问题就在这里: if(InputManager.isTouch){ this.addEv

所以我正在为一个游戏果酱开发一个排序游戏,而我的AS3技能还没有完善

我有一个InputManager.as,它决定设备是否支持触摸,然后在需要它的类中,获取该信息

我遇到的问题是:

C:\GameDev\Progressive Bytes\Dan\Scripts\Screens\Buttons.as,第行 55 1067:将字符串类型的值隐式强制到不相关的 类型函数

问题就在这里:

        if(InputManager.isTouch){
            this.addEventListener(TouchEvent.TOUCH_BEGIN, TouchEventHandler);
        } else {
            this.addEventListener(MouseEvent.MOUSE_OVER, over);
        }
这在按钮的构造函数中

我已经做了一些搜索,但是我似乎找不到任何关于事件侦听器上的1067与此问题相关的答案。但是,正如我所说,有点像AS3的noob


谢谢

这是有错误的一行:

this.addEventListener(TouchEvent.TOUCH_BEGIN, TouchEventHandler);
您必须了解,第一个参数是一个带有事件名称的字符串,第二个参数必须是一个函数,并且您要传递一个类引用

我假设4行中的over参数是一个函数,对您来说可以正常工作。
另外,我假设TouchEvent.TOUCH\u BEGIN属性是一个字符串。

您能准确地标记出导致错误的行吗?谢谢。结果是addEventListener认为over函数是一个字符串,因为(尽管我还没有找到它),一个公共变量over:string是在其他地方声明的。我刚刚将函数名改为Over(),现在可以使用了。处理程序的命名约定使代码保持简单明了,例如:
onTouchBegin
touchBeginHandler
onMouseOver
mouseOverHandler