1

我有一个名为 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);
        }
    }
4

1 回答 1

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);
    }
}

但是,鉴于您可能需要跟踪的东西不止一些,最好设置某种数据类来跟踪所有模型,并可能将其设为公共静态类甚至单例因此您可以在代码中的任何位置访问它们,而无需将它们传递给所有类。

于 2012-11-27T16:00:03.663 回答