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 が public であり、charTarget1 が public 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 に答える