我正在尝试在自定义类中创建一个事件侦听器。我已经在书中看到了这个,但我得到错误“在MouseDown上访问未定义的属性”。我试图尽可能地抽象出这个问题。我用来打电话给我班级的命令如下。感谢您的任何见解。
package
{
import flash.display.*;;
import flash.events.*;;
public class MouseDraw extends Sprite {
public function MouseDraw() {
addEventListener(MouseEvent.MOUSE_DOWN, onMouseDown);
}
public function OnMouseDown(event:MouseEvent):void {
trace("mouse down");
}
}
}
// fla中的代码
var mouseDraw:MouseDraw= new MouseDraw();
addChild(mouseDraw);
答案 0 :(得分:1)
您的代码中存在拼写错误:处理程序的名称(OnMouseDown()
)以大写字母开头,但您在onMouseDown
上添加了一个小写的事件侦听器。将您的函数重命名为onMouseDown
,它应该可以正常工作。
答案 1 :(得分:0)
package
{
import flash.display.*;;
import flash.events.*;;
public class MouseDraw extends Sprite {
public function MouseDraw() {
graphics.lineStyle(1);
addEventListener(Event.ADDED_TO_STAGE, init);
}
private function init(e:Event):void {
stage.addEventListener(MouseEvent.MOUSE_DOWN, onMouseDown);
}
private function onMouseDown(event:MouseEvent):void {
trace("mouse down");
}
}
}