我有一个名为character1的符号(带有自己的类Character1),其中有一个带有自己实例名称的符号:charTarget1(要点击的项目的目标)。
在另一个名为Track1的类中,我试图在hitTestObject循环中引用实例charTarget1,但每次我尝试运行代码时都会遇到错误:
1120: Access of undefined property charTarget1.
我正在尝试运行的循环是:
private function track1Loop(evt:Event):void{
if(charTarget1.hitTestObject(game1End)){
gameWin=true
stage.removeEventListener(KeyboardEvent.KEY_DOWN, onKeyPressed);
stage.removeEventListener(KeyboardEvent.KEY_UP, onKeyReleased);
}
}
答案 0 :(得分:0)
确保character1是公共的,并且charTarget1是一个公共var,并且两者都可用于Track1类。您必须包含MainClass(不知道它的名称)和Character1类的实例。这将在下面工作:
private function track1Loop(evt:Event):void{
if(MainClass.character1.charTarget1.hitTestObject(game1End)){
gameWin=true
stage.removeEventListener(KeyboardEvent.KEY_DOWN, onKeyPressed);
stage.removeEventListener(KeyboardEvent.KEY_UP, onKeyReleased);
}
}
但是,鉴于您可能需要跟踪的内容不止一些,最好设置某种类型的数据类来跟踪所有模型,并可能使其成为公共静态类或甚至是Singleton,因此您可以在代码中的任何位置访问它们,而无需将它们传递到所有类中。