0

我是 AS3 课程的新手,所以我创建了一个简单的“项目”以便更好地理解它们,但我立即遇到了问题。

在我的 flash 文件中,我创建了一个按钮,将它放在舞台上并给它一个 HitButtonA 的实例

然后在我的外部类文件中,我有以下代码:

    package
{
    import flash.display.MovieClip;
    import flash.events.MouseEvent;

    public class External extends MovieClip
    {

    private var counter:Number;

        public function External()
        {
         setupListeners();
         counter=0;
        }


    public function setupListeners()
    {
        HitButtonA.addEventListener(MouseEvent.CLICK, hitButtA);
    }

    public function hitButtA()
    {
        display.text=String(++counter);
    }



    }
}

但是当我运行 flash 文件时,我得到了这个错误:

第 20 1120 行:访问未定义的属性 HitButtonA。

我究竟做错了什么?

4

1 回答 1

1

也许这段代码会很有用,如果您使用的是类中的属性,那么您必须声明为属性。

例如,把它放在你的课堂上(并替换你的functionhitButtA):

public function get hitButtA():void{
   return null;
}
public function set hitButtA(value:Object):void{
   display.text=String(++counter);
}

注意:这是解决您的问题的示例,这不是 getter/setter 函数的正确用法。因此,您应该使用 setter 来设置类的属性,例如:

objectFromMyClass.hitButtA = value;

或使用吸气剂:

var value:Object = objectFromMyClass.hitButtA;

检查此链接以获取更多说明链接

你有一个错误,因为你必须在类中声明一个属性hitButtA,所以你必须声明一个公共变量或一个getter/setter 函数

于 2013-08-13T15:58:16.530 回答