부모 SWF가로드하는 큰 SWF 플래시 파일을 가지고 있는데,로드 될 영화를 재생하고 싶습니다. 말하자면, 50 % 완료되었을 때입니다. 내 예상 사용자의 대역폭과 내 영화의 크기에 따르면 나는 그것을 할 수있는 가장 좋은 순간을 계산할 것입니다 (필름은 20 %, 30 % 또는 50 %로드 될 수 있음). 사용자를 최소로 기다리게하고 플래시가 100 %가 될 때까지 기다릴 필요가 없습니다.플래시 - SWF 필름이 재생되기 전에로드되는 것을 시작하는 방법?
그래, 여기에 문제가있다. 저는 ActionScript 3에 있습니다. 필름 한 장을 다른 필름으로로드하고로드 된 필름 시작을 예상하고 싶습니다. 나는 onProgressHandler (mProgress : ProgressEvent) 함수 (ProgressEvent.PROGRESS에 의해 시작된 리스너와 함께)를 가지고 있고 (Event.COMPLETE에 의해 시작된 리스너와 함께) 정규 onLoadComplete (e : Event) 함수를 가지고있다. 내 정규 onProgressHandler 중에 20 %를 완료했는지 확인할 수있었습니다. 그러나이 시점에 도달했음을 확인하면 어떻게 영화를 시작할 수 있습니까? 내 Event.COMPLETE 핸들러는 e : Event를 전달하고 e.target을 사용하여로드 된 객체를 내 필름으로 가져올 수 있습니다. 그러나 완료되기 전에 프로세스를 시작하려면 어떻게해야합니까? 나는이 이벤트를 전달할 수 없습니다. 왜냐하면 COMPLETE 핸들러가 아직 시작되지 않았기 때문입니다 ...
한 가지 중요한 사실입니다. 적재중인 필름은 거의 비어 있습니다. 아주 가벼운 데요. 무거운 필름은로드되는 필름이며, 필름로드가 완료되기 전에로드 된 필름을 필름의 무비 클립에 첨부하려고합니다. 그게 가능하니?
내가 분명히했으면 좋겠다. 나는 그렇지 않은 경우에 대해서 더 설명하려고 노력할 것입니다.
도움을 주시면 대단히 감사하겠습니다. 정말 고맙습니다.
좋아, 나는 그것을 얻을 내가 더 많거나 적은 그 일을하고있다. 의심의 여지가 있습니다 : 내가 Event.ComplotE에 도달하기 전에 내가했던 것과 동일한 것들을 어떻게 호출 할 수 있습니까? 나는 다음과 같은 것을하기 위해로드 된 필름을 보유하고있는 e : Event가 필요하다 : var loaderInfo : LoaderInfo = e.target as LoaderInfo; var loaded_swf = e.target.content; loaded_swf.x = 50; loaded_swf.y = 50; mc_control.addChild (loaded_swf); –
@Marcos Buarque. Loader는 DisplayObject입니다. 이미 참고 자료가 있습니다. 로더를 타임 라인이나 클래스 변수로 저장하지 않으므로 이벤트 핸들러에서 액세스 할 수 있습니다. 그래서, 당신은 콘텐츠 대신에 그것을 칠할 수 있습니다. 또한'x, y','width' 등을 변경할 수 있습니다. 대부분의 경우로드 될 때까지 기다릴 필요가 없다는 것을 제외하고는 내용 자체를 변경하는 것과 같습니다. –
함수가 이벤트 유형 인수 (전체 이벤트의 경우)를 구문 분석하지만 실제로는 모든 이벤트를 취할 수 있습니다. 내 생각에 ProgressEvent는 Event에서 확장되므로 다음과 같은 함수가 될 수 있습니다. onProgressEvent (event : Event) : void { if (enoughLoaded) { onComplete (event); } } – Garrt