Flash來寫應用程式(八):橡皮擦

要設計電子橡皮擦動畫原理十分簡單,但是要有系統的將資料事先規劃好,才有辦法透過簡單的原理實現。使用橡皮擦的可以分類為下列幾個步驟:
  1. 取得橡皮擦(游標改為橡皮擦圖示)
  2. 移動橡皮擦到想要擦掉的圖形上面(碰撞檢查)
  3. 按下滑鼠清除該圖形(刪除該圖形資料)
原理很簡單,變更游標之前已經會做了,而碰撞檢查我們可以依賴MovieClip內建的hitTest Method來做確定,透過給予座標位置,就可以得知滑鼠是否有碰撞到該圖形。而刪除更是輕鬆只要直接將該MovieClip做removeMovieClip()就搞定了。如果如上述所說這麼輕鬆,那程式設計真是快樂的事情,實際在設計的時候,你會發現刪除的時候怎麼所有的圖形都消失了,沒辦法一塊一塊的去做刪除,這是因為多個圖形都在同一個MovieClip做處理,因此hitTest與removeMovieClip這些對該MovieClip做控制的事情,反而無法切割開來,但是如果不透過現有的method去處理,而考慮手工打造的話,那真是耗時費工喪失了flash原本對於圖形控制的優勢。
但是只要在資料部分必須事先規劃,其實只要每個圖形分散在不同的MovieClip上,我們就可以利用原本基本的原理來處理圖形的刪減了,我們只要在新增每一個圖形的時候,都各自用一個獨立的MovieClip將它包起來,並且集中存放在Array中,當需要檢查碰撞的時候,在用迴圈的方式檢查Array中哪個MovieClip有符合,只要單獨刪除該筆MovieClip,就可以滿足橡皮擦的功能了。

沒有留言:

橫式廣告