Actionscript 3 as3绘制圆类错误

Actionscript 3 as3绘制圆类错误,actionscript-3,class,events,listener,Actionscript 3,Class,Events,Listener,我正在尝试在自定义类中创建事件侦听器。我在书中看到过这一点,但我得到错误“访问MouseDown上未定义的属性”。我试图尽可能地抽象这个问题。下面提供了我用来调用类的命令。谢谢你的见解 package { import flash.display.*;; import flash.events.*;; public class MouseDraw extends Sprite { public function MouseDraw() { addEventList

我正在尝试在自定义类中创建事件侦听器。我在书中看到过这一点,但我得到错误“访问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);

代码中有一个输入错误:处理程序的名称(
OnMouseDown()
)以大写字母开头,但您在
OnMouseDown
上添加了一个事件侦听器,其大小写为小写。将你的函数重命名为onMouseDown,它应该可以工作。

哇——在疯狂的谷歌搜索之后,这个功能开始工作了。谢谢所有评论的人。这个故事的寓意是——不要相信你在书中看到的代码会被编译

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");        
    }                   

}   

}

谢谢查尔斯,我刚发帖就看到了。但现在我得到了一个新的错误“TypeError:error#1009:无法访问空对象引用的属性或方法。”任何想法。Thanks@user2066788你在哪一行得到这个错误?是在这里调用
addChild()
?这是一个
DisplayObjectContainer
的方法,我们不知道在哪个对象上调用它。在您的示例中,它是
this.addChild(mouseDraw)
(如果您不定义在哪个对象上调用方法,默认情况下它是
this
),但是
this
是什么?您是否尝试过
stage.addChild(mouseDraw)
?您好@user2066788I,尝试过stage.addChild(mouseDraw),我收到了相同的错误。谢谢如果您不能提供发生错误的线路,我们将尽力帮助您