무대는 DisplayObject
의 속성입니다. DisplayObject
이 Stage
에 없으면 스테이지 속성은 undefined
입니다.
따라서 QuickKong.connectToKong(stage);
을 실행할 때 스테이지를 사용할 수 있어야합니다.
문서 클래스의 생성자에서이 작업을 수행하면 정상적으로 작동합니다. 스테이지 속성이없는 다른 클래스에서이 작업을 수행하려고 할 가능성이 있습니다. 이에서를 실행하려는 클래스가 확장되면
DisplayObject
등 MovieClip
이나 Sprite
당신이 당신의 QuickKong
코드를 실행 한 후이 단계에 추가 될 때 수신 할 수 있습니다. 이처럼 :
package {
import flash.display.MovieClip;
import flash.events.Event;
public class Test extends MovieClip {
public function Test() {
addEventListener(Event.ADDED_TO_STAGE, onAdded);
}
private function onAdded(e:Event):void{
// now the stage is available
QuickKong.connectToKong(stage);
}
}
}
자, 어떤 이유로 당신은 그 클래스의 생성자에 무대에 대한 참조를 통과해야 무대에 액세스 할 수있는 클래스에 QuickKong
코드를 실행하지 않는 경우, 다음과 같이하십시오 :
var someClass:SomeClass = new SomeClass(stage);
마지막으로 문서 클래스에서 정적 변수 참조를 만들 수 있습니다. 이처럼 :
package {
import flash.display.MovieClip;
public class Main extends MovieClip {
public function Main() {
Main.stage = stage;
}
}
} 이제
, 당신은 말할 수 : Main.stage
어디 코드에서 당신이 무대에 대해 이야기해야 할 때 :
QuickKong.connectToKong(Main.stage);
이 바른 길에 저를 얻었다 - 감사! – jdfinch3
위대하고 기꺼이 도와주었습니다. – Zevan