나는 이것이 내가 찾고자하는 종류의 이상한 것이라는 것을 알고있다. 그러나 나는 이것을하기 위해 노력하는 이유에 관해서 조금 뒷 이야기를하고있다 :As3 - SWF에서 실행중인 IDE의 코드를 확인하는 방법
나는 온라인 멀티 플레이 플래시 게임을 만들고있다. 나는 as3 작성 및 그래픽 작업을 위해 플래시 빌더 및 플래시 전문가를 사용하고 있습니다. 나는 또한 (궁극적 인 Visual Studio에서 playerio에 의해) 개발 서버를 실행 중입니다. 이 온라인 멀티 플레이어 게임을 테스트하는 방법은 플래시 전문가와 한 번 플래시 빌더에서 swf를 한 번 실행하는 것입니다. 그들은 둘 다 똑같은 액션 스크립트 3 코드와 플래시 무비 클립에 연결됩니다 (swc 파일을 통해). 플래시 프로와 플래시 빌더는 각각 출력 영역이 적기 때문에이 설정이 맘에 들지만 각 사용자별로 디버깅 출력을 별도로 볼 수 있습니다.
의 정확한 동일한 코드를 실행하는 두 개의 SWF 만
, 나는 그들이 다르게 행동하려는 문제. 예를 들어, 플래시 프로 버전의 이미지에 대한 참조를 가져옵니다
_gameOverPopup = this["gameOverPopup"];
및 플래시 빌더 사용자는이처럼 가져옵니다뿐만 아니라 다른 많은 차이가 있습니다
_gameOverPopup = new GameOverPopup;
. 예를 들어, 나는 자동으로 인증하고 단지에서 사용자 이름과 암호를 하드 코딩하여 각각의 경우에 다른 사용자로 로그인 그래서 지금 내 코드는 다음과 같이 같습니다.
if (inFlashBuilder) {
// this only happens when debugging in Flash Builder
authenticateWith("billyboy", "Secret123");
}
else {
// this only happens when debugging in Flash Professional
authenticateWith("joeshmoe", "password1");
}
이 잘 작동하지만 수동으로 변경하고를 내 코드에서 inFlashBuilder 변수. 나는 기본적으로 그냥 클래스의 상단에 그것을 가지고 :
private var inFlashBuilder:Boolean = true;
및 은 내가을 컴파일하기 전에 수동으로 거짓마다에 충실에서 변경해야합니다. 오 이런, System에 메소드가 있거나이 플래그 변수를 제어 할 수있는 메소드가 있었으면 좋겠습니다. 경우에만 ...
감사합니다.플래시 빌더에서 플렉스를 사용하지는 않지만 프로젝트 -> 속성 -> 액션 스크립트 컴파일러 -> 액션 스크립트 컴파일러 인수로 이동하여 config 상수를 추가하고 다음을 입력하십시오. -define = CONFIG :: IN_FLASH_AUTHORING, false –