Labels

2005 (136) 2004 (99) 2006 (84) 2007 (41) 2008 (41) 簡單生活 (24) 2012 (14) 網頁設計 (14) 電腦技巧 (13) 2009 (12) 2010 (10) PHP (10) 台灣晃一晃 (9) Learn Note (7) 地球這麼大 (6) 2011 (5) Mysql (3) Smarty (3) Vista (3) 手機待吐 (2) 2014 (1) 2021 (1) Composer (1) Laravel (1) MAC (1) MAMP (1) 新新人類新科技 (1)

20121104

shiva3D 坦克大戰 part3

坦克開火
1.設定bFire變數(布林,預設false)
2.新增onFilre事件
3.在onFire事件加入判斷開火狀態
4.在onKeyboardKeyDown(kKeyCode)裡加入開火使用按鍵判斷

5.在onKeyboardKeyUp(kKeyCode)裡加入開火按鍵放開判斷
6.匯入子彈包裝檔 (Bullet.ste)
7.設定場景砲管位置的標籤(Tank_fire_position_tag)

8.將子彈包裝檔設為動態物件,須先將子彈模組放入GameEditor內的模型
9.撰寫子彈的產生方式

10執行時按下空白鍵,查看是否子彈已上膛
BulletAI (子彈發射AI)
1.新增BulletAI作為子彈發射功能
2.於BulletAI內加入onEnterFrame事件
3.撰寫子彈發射程式碼
3.套用BulletAI至Bullet模組內


4.執行時發現子彈發射的角度有問題

5.調整子彈發射角度,並加入按鍵連續發射程式碼

動態物件(子彈)消除
1.設定牆壁感應器




2.幫子彈添加感應器
3.在BulletAI加入是見碰撞處理器onSensorCollisionBegin()
4.撰寫碰撞感應消除程式碼

5.執行時若子彈發射太快也會被消除

6.調整感應代碼

坦克履帶動畫
1.建立變數nPedrail,預設值為0
2.對坦克的履帶(Tank_pedrail)加入標籤(Tank_pedrail_tag)
2.於前進onForward()事件內加入履帶動畫

3.於後退onBack()事件內加入履帶動畫
計算子彈發射數量
1.新增HUD (Tank_HUD)
2.新增元件BulletNum(Z順序:128,框及背景為0,反鋸齒)

3.onInit()撰寫程式碼,將HUD加入畫面

4.加入nBulletNum變數,預設0
5.撰寫計算子彈發射數量的程式碼
6.執行畫面確認發射數量與按鍵數量相符

~坦克大戰遊戲課程結束~