我是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。
我做错了什么?
答案 0 :(得分:1)
也许这段代码很有用,如果您使用的是类中的属性,那么您必须声明为属性。
例如,将其放入您的班级(并替换您的function
hitButtA):
public function get hitButtA():void{
return null;
}
public function set hitButtA(value:Object):void{
display.text=String(++counter);
}
注意:这是一个解决问题的示例,这不适用于getter / setter函数。因此,您应该使用setter来设置类的属性,例如:
objectFromMyClass.hitButtA = value;
或使用getter:
var value:Object = objectFromMyClass.hitButtA;
点击此链接以获取更多解释 link 。
您有错误,因为您必须在班级中声明属性 hitButtA,因此,您必须声明 公共变量 或 getter / setter功能 。