2011-12-12 2 views
2

win38에서 FlashDevelop를 사용하여 as3isolib과 isogame을 수행하고 있습니다. 게임은 AS2로 코딩 된 외부 SWF를로드해야합니다. 응용 프로그램을 디버깅 할 때 플레이어가 주어진 위치에 도달하면 SWF를로드합니다. 이 프로그램은 버튼과로드 된 SWF를 모두 닫는 (removeChild) 버튼을 인스턴스화합니다. 그러나 bin 폴더를 다른 위치 (다른 팀 동료에게 표시하기 위해)로 복사/붙여 넣을 때 SWF는로드되지 않지만 SWF에 포함 된 버튼이로드됩니다. 폴더 구조는 다음과 같습니다.AS3 FlashDevelop 프로젝트에서 as3isolib 경로 문제 사용

  • isoGame/bin;
  • isoGame/libs/... 모든 라이브러리;
  • isoGame/src/... 주요 액션 스크립트; 모든 자원에 대한 경로가 포함
  • isoGame/SRC/게임 ...
  • isoGame/SCR/게임/자산

Assets.as라는 파일이 있습니다 모든 사용자 정의. 예를 들어, "OVA.swf". 해당 파일은/assets 및/bin에 복사됩니다. 그러나 다시, 폴더 위치를 변경하려고 할 때 SWF가로드되지 않습니다. 하여 SWF를로드

기능은 다음과 같습니다

private function onUpdate(e:Event):void 
{ 
    if (_avatar.x == 4 * _level.CELLSIZE && _avatar.y == 4 * _level.CELLSIZE) 
    { 

     //_swfFile = new URLRequest(Assets.OVA1_PATH); 

     _swfLoader.load(new URLRequest(Assets.OVA1_PATH)); 
     _swfLoader.x = (Constants.PLAYER_WIDTH - 550)/2; 
     _swfLoader.y = (Constants.PLAYER_HEIGHT - 400)/2; 

     close_btn = new Assets.CLOSE_BTN_CLASS(); 
     close_btn.addEventListener(MouseEvent.MOUSE_UP, onCloseOVA); 
     close_btn.x = 550 + _swfLoader.x; 
     close_btn.y = _swfLoader.y; 

     //adding the objects 
     addChild(_swfLoader); 
     addChild(close_btn); 
    } 
} 

감사합니다!

답변

0

솔트!

SWF의 보안이 변경되었습니다.

이동 설정 -> 로컬 재생 보안을 게시 파일 ->합니다 : 액세스 네트워크 만

이 방법은 SWF 파일 멋지게 (그것에 작성된 AS2.0 코드)로드됩니다.

그런데 이러한 파일이 공용 액세스를 위해 서버에있는 경우 이것이 반대인지 여부는 알 수 없습니다. 시험을 할 때, 여기에 쓸 것입니다.