2011-11-01 4 views
2

.as에 메인이 있고 .as .It에 .swf가로드됩니다. 이제는 .swf에서 테이크 변수를 가져 와서 .as로 전달하십시오. 내가 어떻게 할 수 있니? pls. 도움! 변수를 .swf 파일에서 .as 파일로 전달하는 방법?

function formatMessage(chatData:Object) 
{ 
var number:uint = chatData.user; 
trace(chatData.user); 
} 
private function addText() 
    { 
_loader = new Loader(); 
_loader.x=10; 
_loader.y=200; 
_loader.load(new URLRequest("receive.swf"));//Here i Can Load the Swf.Here how Can i acces the Variable of number ? 
addChild(_loader); 
    } 
+0

이 변수는 DisplayObject입니까? – IronBCC

+0

예 : 해당 표시 객체 – Mercy

답변

1

명심해야 할 점은 ActionScript VM 버전에서 작동하지 않는다는 것입니다. 의미는 AVM2와 AVM2만이 통신을 할 수 있습니다 (AVM1간에 가능하지만 더 많은 창의력이 필요합니다).

_loader.contentLoaderInfo 속성에 완료 이벤트 리스너를 추가로드 된 내용과 약간의 캐스팅을 추출해야합니다 onLoad 기능을 이제

_loader.x=10; 
_loader.y=200; 
_loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onLoad); 

onLoad을했다.

이 작업을 수행하는 데 더 깨끗한 형식이 있지만 중첩 된 SWF에서 값을 추출 할 수 있습니다.

+0

중첩 된 swf를 사용하지 않았습니다. swf 파일을 .as 파일에 추가합니다. 내 목표는 .swf에서 변수를 검색하는 것입니다. – Mercy

+0

@ user993437 - ActionScript 파일이 실행됩니까? 네, 그렇습니다. ActionScript를 실행할 때 SWF로 (또는 FLA에서 컴파일 할 때 다시 SWF로) 실행합니다. 이 논리를 사용하면 컴파일 된 SWF가 'reciever.swf'라는 다른 SWF를로드하고 있습니다. 하나의 SWF를 다른 SWF로로드하는이 방법을 중첩이라고합니다. 당신은 자신의 용어를 생각할 수 있지만,이 경우 중첩됩니다. –

+0

플래시 빌더를 사용하여 매우 유용한 정보를 보내 주셔서 감사합니다. 값을 추적 할 수 없습니다. addchild()에 텍스트를 추가 할 수 있습니까? – Mercy

0

DisplayObjectContainer와 (_loader.content) .getChildByName ("someName")를 코딩 내 .SWF 파일;

someName 변수는 기본 타임 라인 또는 기본 파일에 선언 된 public이어야합니다.

+0

1061 : 고정 유형 flash.display : DisplayObject가있는 참조를 통해 정의되지 않은 getChildByName 메소드를 호출 할 수 있습니다. _loader.content.getChildByName ("chatSharedObjectName");이 코드를 추가하는 동안이 선생님과 같은 오류가 발생합니다. – Mercy

+0

DisplayObjectContainer (_loader.content) .getChildByName (..) – IronBCC

관련 문제