Pay for Hesitation: loader

Pages

顯示具有 loader 標籤的文章。 顯示所有文章
顯示具有 loader 標籤的文章。 顯示所有文章

2010年7月20日 星期二

load swf 發生的問題

本來的架構是, 有兩個Scene,
每個Scene是一個project.
ControllerA.swf 去loaded ViewA.swf
ControllerB.swf 去loaded ViewB.swf

Scene之間的切換是利用navigateToURL透過server端去跳轉.
後來需求做了改變, 希望改由client端來控制scene之間的切換,

於是我寫了SceneManager Project來做這件事,
但又希望儘可能不破壞原有兩個Scene Project的程式架構.

所以變成SceneManager 去 create & launch Controller的instance,
原本的UI控制, 遊戲流程的程式邏輯都無變更.

僅在於要做場景切換時,
Controller 同樣先做destroy的動作,
但會透過connection channel 通知SceneManager做跳轉的動作,
而非原本的navigateToURL.

但首先SceneManager在create & launch Controller的instance時,
原先可以work的場景檔會出一些問題,
如:MovieClip的currentFrameLabel屬性變成undefined,
SimpleButton註冊的事件無反應,
有些MovieClip的效果不見了,
甚至有的MovieClip消失在場景上了.

試了好多地方, 如改變Load swf的方法 ( Loader, BulkLoader),
initialize controller instance的時間點.

最後才發現問題是沒在SceneManager Project 加上-target-player=10.1.0的設定.
(ControllerA 和ControllerB本身兩個Project都有加上面這個參數)



2010年6月18日 星期五

Thinking in Commands

A series of good articles.