2016-07-06 2 views
2

저는 actionscript를 처음 사용합니다. 나와 함께있어주세요.여러 외부 swf 파일을 제대로로드하는 방법은 무엇입니까?

좋아, 이제 대화 형 게임을 만들고 있습니다. 이제 6 swf 파일을로드해야하고 순차적으로 재생해야합니다.

사실이 주제에 대한 질문의 제비가 여기에 그들이

1 질문 :)입니다가 어떻게 영화 적 장면 후 외부 SWF 파일을로드 할 수 있습니까?

제 3의 swf 파일에서 나는 영화 같은 장면을 가지고 있으며 약 30 초가 끝납니다. 지연 방법을 알고 있지만, 이미 웹 사이트에 업로드했을 때 원활하게 작동합니까?

두 번째 질문 : 사용자가 게임을 시작하기 전에 모든 외부 파일을로드하는 방법은 무엇입니까?

사용자가 게임을하기 전에 모든 swf 파일을 한 번에로드 할 수 있습니까?

여기 내 코드의 일부 샘플입니다 :

import flash.events.MouseEvent; 
import flash.display.MovieClip; 
import flash.display.Loader; 
import flash.events.Event; 
import flash.net.URLRequest; 

var myClip:MovieClip = root as MovieClip; 
var externalClip:MovieClip; 
var myLoader:Loader = new Loader(); 
var myLoader1:Loader = new Loader(); 

myLoader.contentLoaderInfo.addEventListener(Event.COMPLETE,  loaderCompletedHandler); 


function loaderCompletedHandler(evt:Event):void { 
externalClip = myLoader.content as MovieClip; 
externalClip.ext_btn.addEventListener(MouseEvent.CLICK,extCommunicate); 

    function extCommunicate(evt:MouseEvent):void { 
    trace("TEST"); 
    myLoader1.contentLoaderInfo.addEventListener(Event.COMPLETE, thirdloaderCompletedHandler); 
    var newstring:String = "third.swf"; 
    var newREQ:URLRequest = new URLRequest(newstring); 
    addChild(myLoader1); 
    myLoader1.load(newREQ); 
    myLoader1.x=40; 
    myLoader1.y=20; 
    removeChild(myLoader); 
    } 
} 

function thirdloaderCompletedHandler(evt:Event):void { 
    trace("YEAH"); 
} 

var externalString:String = "external.swf"; 
var urlREQ:URLRequest = new URLRequest(externalString); 

playbtn.addEventListener(MouseEvent.CLICK,swfLoad); 
function swfLoad(evt:MouseEvent):void { 
    addChild(myLoader); 
    myLoader.load(urlREQ); 
    myLoader.x=40; 
    myLoader.y=20; 
} 

세번째 질문 : 위의 코드는 여러 SWF 파일을로드의 적절한 방법인가?

미리 감사드립니다.

답변

2

많은 질문 ... (1) 당신은 AS3로하지, 프레임 작업하여 그들을로드 많은 SWF 파일을 연결할 수 있습니다. 이렇게하면 이전 영화가 끝날 때만 다음 영화가로드되도록 할 수 있습니다. 또는, 귀하의 관점에서, 첫 번째 "영화"장면이 끝난 후에 만 ​​다음 영화를로드합니다. 따라서 "지연"을 사용하지 마십시오. 이는 기계 및 대역폭면에서 사용자 구성에 따라 다른 결과를 산출하기 때문입니다.

(2) 영화를 미리로드하는 것과 같은 방식으로 모든 영화를 미리로드 할 수 있습니다. 이는 적절한 코드를 작성하고 movie1이로드되었는지, movie2인지 등을 확인하는 경우와 같습니다.

(3) 자신의 코드를 테스트하고 작동하는지 확인하십시오. 그렇지 않다면 오류 메시지와 조건에 대해 최대한 알리고 여기에 StackOverflow에서 다른 시나리오를 열어 모든 시나리오, 보유한 것, 얻을 수있는 것과 기대하는 것을 노출하십시오. 최고

+0

감사합니다. 고맙습니다. 영화 장면은 제 2 swf (3rd가 아닌) 파일에만 있습니다. 그리고 다른 swf 파일은 mousevent 동작으로로드됩니다. - 주 SWF에는 두 번째 SWF를로드하는 재생 버튼이 있습니다. - 두 번째 SWF에는 영화 장면이 있고 이후에 세 번째 SWF가로드됩니다. - 버튼을 클릭하면 3 ~ 6 번째 swf가로드됩니다. –

+0

고맙습니다. 그게 다야, 알았다. 먼저 "play"로드 시네마틱을로드하고, 마지막에 프레임 액션을 넣어 3을로드하십시오. 영화. 당신의 결과와 의구심으로 곧 돌아오고 내가 당신을 더 도울 수 있다면 나에게 기쁨이 될 것입니다. (전에 많은 액션 스크립트보다 많은 밤을 ...). 그러나, 새로운 질문을해라. .. 이것은 끝났다 :) – statosdotcom

+0

고맙다. 알았다. 한 번에 모든 swf 파일을로드하는 방법은 어떻습니까? 이 작업을 수행하는 방법에 대한 힌트를 줄 수 있습니까?현재, 사용자 상호 작용에 대한 각 swf 파일 기반을로드하고 있습니다 (세 번째 swf 제외). 내 웹 사이트에서 재생하려고했지만로드가 각 swf 파일에 너무 오래 걸립니다. –

관련 문제