使用FLEX和Actionscript開發FLASH 遊戲-碰撞檢測
在第五部分我們增加了一些敵機而且給遊戲者增加了武器使它能射擊。在第六部分我們将增加碰撞檢測來允許遊戲者确實能夠擊落敵機。
碰撞檢測是當兩個對象碰撞時能夠檢測到,然後正确地反應。在第五部分我們給遊戲者射擊接近的敵機的能力。唯一的問題是那些子彈隻是越過敵機。在第六部分我們将增加必要的代碼來實作碰撞檢測,這将讓我們能夠把敵機射下來。
碰撞檢測看起來是非常簡單地概念,但實作起來卻超乎尋常地難。你将發現有很多整本整本講測試2維和3維圖形交集的書。讓我們感到幸運的是我們的碰撞檢測将非常簡單。在螢幕上的每個對象将有一個矩形區域來檢測到碰撞(“碰撞區”)。為了簡單起見這個區域将和用來在螢幕上顯示子圖形的基礎圖檔大小一樣。一旦這些矩形重疊我們将檢測到碰撞。
為了得到最好的效果這些矩形将被剪裁地盡量和顯示的圖檔一樣大。下面是在遊戲中可能被用到的兩幅圖檔。這兩幅圖檔将完全顯示一樣因為在飛機周圍是透明的。然而上面一張圖檔對于碰撞檢測系統是最優的,因為它裁剪得更接近實際的飛機圖形大小。下面一張将會顯示好像在應該碰到其它對象之前就碰到了,因為碰撞檢測系統不會注意到透明的邊界部分,而且認為整個圖檔區域被用來作為碰撞
現在讓我們看看為了實作碰撞檢測需要在GameObject類中做哪些改變。
<Previous Article in Series | page: 1 2 3 4 5 6 | Next Page>