自定义类中的AS3事件侦听器

时间:2012-04-07 08:36:30

标签: actionscript-3 flash flash-builder

我是AS3的新手。

对于图形表示,我使用fla文件作为资源。我在Flash Builder 4.6中使用代码。

我尝试创建自己的包含click事件的类Panel。 但是当我测试移动时,事件不起作用!

当我将事件处理程序(buttonClick)和事件监听器移动到主类(测试)并将事件应用于卡对象(例如)时,一切正常。

我的代码出了什么问题?

我的主要应用类别:

package
{
import flash.display.Sprite;
import flash.events.*;
import flash.ui.Keyboard;

import ui.Panel;

public class test extends Sprite
{
    var card:Panel;

    public function test()
    {
        card = new Panel();
        addChild(card);
    }

}
}

Panel类:

package ui
{
import flash.display.MovieClip;
import flash.events.*;

public class Panel extends MovieClip
{

    var back:PanelBack;
    var button:PanelButton;

    public function Panel()
    {
        super();
        back = new PanelBack();
        button = new PanelButton();
        addChild(back);
        addChild(button);

        button.addEventListener(MouseEvent.CLICK,buttonClick);
    }

    private function buttonClick(event:MouseEvent):void
    {
        trace("Hello");
    }

}
}

1 个答案:

答案 0 :(得分:0)

enter image description here

确保在符号属性中配置了如上所示的设置。在“类”部分中,您必须显式定义类(在外部.as文件中定义)以将符号链接到文件中的类。还要确保在项目目录(FLA所在的位置)中有一个名为“ui”的文件夹,其中包含“Panel.as”文件,其中定义了面板类。