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.執行畫面確認發射數量與按鍵數量相符

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

留言

這個網誌中的熱門文章

可以127.0.0.1卻無法localhost,一切都是IPv6搞的鬼!!

文章

PHP -利用mkdir函數建立中文資料夾無亂碼方案