2012年7月19日 星期四

[AS3] 處理 重繪區域比顯示區域大的一些方法 II

基本上是上一篇的延續 !

應該有很多人都做過 閃電 的那種動畫!

假設 閃電的動畫的內容是不一樣的 但是閃電的動作是一樣的 ?

如何動態的操作 可以避免掉一些顯示的問題!

如下圖  :



如果像圖這樣 會出現 使一開始要出現的圖樣 是第一格的圖樣 !

我想解法很多種~

我以前會把 第一格空下來

然後聽 add 事件 有就直接換 影格

這樣可以避免一開始瞬間的錯誤

假設 這個使用上一篇  處理 重繪區域比顯示區域大 的方法

以這個案例來說 使用上一篇的方法 會使效能變差 和 消耗的記憶體增加

基本上是一點用都沒有 !

我純粹只是想測這種方法的能不能解這個問題 !

下面是 這個的範例 CODE 和 各種 計時器 間 會出現的差異 !




範例如下!
警告 這個範例會不斷閃爍
如果有某些疾病的人請不要打開...
DEMO

===============================================================
題外話

其實 我的計時器  和 上一篇的 繪圖的這種

嚴格講 應該分成兩種體系

一種是 static 的

一種是 CODE 這種的

一個程式中 會需要到兩種嗎 ?

本來我用靜態版的弄了範例~~

結果我沒辦法同時做出 四種 都同時的擺在一起

所以最後又改成現在的這種版本....

也許某些情況會需要 使用到兩種不同的計時器

不過是否真的需要全局統一 ?

還有本來看到最近新出的 worker

最一開始想把它當成 另外一種計時器 去跑的~

或者 能把它整合進 計時器 中!

只要 開某種計時器 那把這個記時器相關的運算都由某個 worker 去執行

或者說 把整個系列的運算獨立出來 總之這邊還在嘗試~

感覺上不是沒希望! 不過 我可能要把整個 計時器 都大改寫

利用事件的方式 似乎是不可能的~~

沒有留言 :