2011年3月7日 星期一

Android Game 造型動畫教學(二) - Sprite動畫基礎觀念

前一篇我們利用LGame產生第一支遊戲程式的樣版,接下來我們來說明造型動畫的基本設計觀念,一般動畫可以分成兩種基本類型頁框動畫(Frame-based Animation)及造型動畫(Cast-based Animation),頁框動畫是將一連串預先製作好的靜態頁框影像顯示出來,類似乎電影或電視的手法;而造型動畫多數用於遊戲,以圖像式物件(Graphical Object)稱為精靈(Sprite),在背景影像中獨立地移動。【以下範例說明中部份程式碼及圖片等資源摘自LGame範例中BarrageTest】
1.首先必須準備Sprite動畫檔,一般都是把該精靈的所有動作,放置在單一的png檔案中。

2.利用setCurrentFrameIndex()函式來指定要顯示第幾幅畫,下圖是指第2幅由0開始算起。

3.新增下列程式,使我們能利用鍵盤來上下控制精靈的位置。

4.宣告精靈物件
private Sprite spr;
5.建立精靈物件,Sprite()為Sprtite類別的建構元,第一個參數是給定精靈的圖檔,第2和3參數是精靈圖的長度及寬度。
spr = new Sprite("res/a.png", 47, 47);
6.設定精靈物件的顯示位置
spr.setLocation(128, 128);
7.將精靈加入遊戲
add(spr);
8.onKeyDown是按鍵的事件處理函式,當手機的按鍵被觸動時會被呼叫。
public boolean onKeyDown(int arg0, KeyEvent arg1)
9.KeyEvent.KEYCODE_DPAD_DOWN和KeyEvent.KEYCODE_DPAD_UP分別是下和上兩個方向鍵的常數定義。
10.move_down()和move_up()分別是控制精靈下移和上移的指令。

沒有留言:

張貼留言