2012-11-27 2 views
1

char1이라는 심볼 (자체 클래스 Character1 포함)은 charTarget1 (적중 대상 항목)이라는 자체 인스턴스 이름을 가진 심볼을 포함합니다. 나는 hitTestObject 루프에서 인스턴스 charTarget1를 참조하려고하지만 매번 내가 노력하고 내가 오류가 계속 코드를 실행 트랙 1이라는 다른 클래스에서 AS3의 다른 클래스에있는 심볼에서 인스턴스를 참조하려면 어떻게해야합니까?

:

1120: Access of undefined property charTarget1. 

I가 노력하고있어 루프 실행은 다음과 같습니다 :

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

스테이지의 객체입니까, 프로그래밍 방식으로 추가 한 객체입니까? – Gone3d

+0

Main 클래스에서 프로그래밍 방식으로 추가했습니다. – Tummus

답변

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

, 당신은 당신의 추적 할 필요가있는 몇 가지보다 아마 더가 주어진, 모든 모델의 추적 데이터 클래스의 일종을 설정하는 것이 좋습니다 수 있습니다 어쩌면 코드를 모든 클래스에 전달하지 않고도 코드에 액세스 할 수 있도록 public static 클래스 또는 Singleton으로 만들 수 있습니다.

관련 문제