as3绘制圆类错误

时间:2013-02-13 21:05:08

标签: actionscript-3 class events listener

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

2 个答案:

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

}   

}