【LGame入門學堂005.精靈傳說】簡單的精靈

來源:互聯網
上載者:User

【LGame學堂】簡單的精靈

 

關鍵字:LGame 入門 精靈

笨木頭花心貢獻,啥?花心?不呢,是用心~

轉載請註明,原文地址:http://blog.csdn.net/musicvs/article/details/7530117

 

 

 

 

靈,按照個人的理解,就是遊戲中的生物,生物嘛,當然是要能懂的。跑來跑去的主角是精靈,和主角打架的怪物也是精靈~還有好多好多精靈,好吧,精靈不神秘,它也不過是一個被封裝的動畫。

 

public class GameScreen extends Screen { private final String TAG = "GameScreen"; private LImage bgImg = null; /* 背景圖片 */ private Sprite girlSprite = null; /* 精靈:一個弓手女孩 */ private Sprites sprMgr = null;  /* 精靈管理器 */ public GameScreen() {  /* 背景圖片 */   bgImg = LImage.createImage("assets/bgImg.jpg");     /* 載入精靈資源 */   girlSprite = new Sprite("assets/girl.png", 103, 114);      /* 設定精靈初始位置 */   girlSprite.setLocation(50, 250);      /* 將精靈加入精靈管理器 */   sprMgr = new Sprites();   sprMgr.add(girlSprite); } @Override public void draw(LGraphics g) {   /* 繪製圖片,這個很簡單哈,看看函數說明就好,和Android API差不多~ */   g.drawImage(bgImg, 0, 0);      /* -------------繪製精靈---------- */   /* createUI方法會遍曆精靈管理器裡的所有精靈,    * 並調用精靈的createUI方法,相當於drawMe,    * 就是精靈繪製自己的方法    */   sprMgr.createUI(g);      /* update方法也會遍曆精靈管理器裡的所有精靈,    * 並調用精靈的update方法,update方法會更新精靈的幀數,    * 可以理解為切換到精靈圖片的下一幀。    * 那,參數elapsedTime也就是重新整理間隔了(單位毫秒) */   sprMgr.update(100);    } @Override public void alter(LTimerContext timer) {} @Override public void onTouchDown(LTouch e) {} @Override public void onTouchUp(LTouch e) {} @Override public void onTouchMove(LTouch e) {}}

 

代碼中可以看出,精靈由一個精靈管理器管理,所有精靈的繪製都通過精靈管理器來調用。

哎吖,由於這個例子實在是有點過於簡單,實在是不知道說些啥~

好吧,那就不說了~

-

囉嗦一下:

吧,還是有些話想說~Sprite就是一個LGame預設提供的精靈類,如果你不喜歡它,你可以自己創造一個精靈(好吧,多個也行)~怎麼創造?只要你的類實現了ISprite介面,那它就被認為是一個精靈類,其它的,自由發揮~

-

再囉嗦一下:

看Sprite的構造器:

 

個構造器有三個參數:

1.  filename 資源路徑

2.  row 每一幀截取圖片資源的上的寬

3.  col 每一幀截取圖片資源上的高

-

2、第3個參數稍微解釋一下,這個構造器需要一種這樣的圖片資源:

 

有的動作都在一張圖片裡,相信大部分朋友都知道了。參數row就是圖片寬除以每個動作的寬,參數col就是圖片的高。

好吧,囉嗦完畢~

 

最後的囉嗦:

許有人已經發現了,我每次用的GameScreen類都是繼承Screen的,其實LGame還有一個CanvasScreen的,但是我暫時還不知道什麼時候用Screen什麼時候用CanvasScreen~等我弄懂了再和大家分享哈,嘿嘿~

 

源碼下載:http://download.csdn.net/detail/musicvs/4289615

 

原文第一次發佈於Android-Fans論壇:http://www.android-fans.net/forum.php?mod=viewthread&tid=1493&page=1&extra=#pid4389

 

 

 

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.