憤怒的小鳥判斷場景中道具被小鳥擊中後的改變以及小鳥碰撞玩物體後的受傷狀態以及使用靜態方法對聲音的新增
首先要了解當小鳥與非小鳥發生碰撞時是因為力的存在,所以當小鳥碰撞到非小鳥物體時兩者都會產生相應的速度,所以便可通過相對速度來檢測其碰撞後的狀態。
一:
因此,我們可以定義兩個速度,一個為最小速度minSpeed,另一個為最大速度maxSpeed,我們可讓當最小速度minSpeed<豬被小鳥碰撞的速度<最大速度maxSpeed,小豬此時的狀態為受傷。當豬被小鳥碰撞的速度>最大速度maxSpeed,此時豬直接死亡。
二:程式碼如下
1.定義兩個速度
2.使用碰撞檢測,來完成對此時速度的判斷
3.Dead方法的實現
Dead方法中的Score方法為當小豬被小鳥碰撞後死亡時會有分數呈現
其中的boom,為當小豬死亡後呈現的動畫由圖片構成
程式碼:
因為分數要在豬的上方呈現,所以要將豬當前的位置加上適當的y值讓分數呈現在豬的上方,不過在實現小先定義。
二:小鳥受傷狀態的實現以及非小鳥的受傷狀態實現
可以看見的發射黑色小鳥後小豬的狀態以及發生了改變,這個操作我們可以通過SpriteRenderer元件來完成。
1.小豬受傷後的狀態改變
hurt為受傷後的圖片
在Awake()中呼叫
在private void OnCollisionEnter2D(Collision2D collision)碰撞檢測中實現,當此時的速度小於maxSpeed大於minSpeed時為受傷狀態,當速度大於maxSpeed小豬直接死亡,並生成boom動畫。
2.場景中木塊,玻璃等物品的受傷狀態改變
場景木塊等物體也會被小鳥碰撞後,也會有受傷狀態,其原理於小豬碰撞原理相類似,所以我們可以將小豬上的指令碼(pig)賦予場景中其他物體,即可完成其效果。但我們要區分這兩個物體(小豬和木頭等物體),所以我們要定義一個bool型別來區分是否為ispig。
通過此方法來完成對小鳥碰撞其他物體後的其他物體的受傷狀態改變。
三.小鳥受傷狀態的實現
與定義小豬受傷的方法相似
也是通過SpriteRenderer元件來實現,在Awake()中獲取
在bird類中定義Hurt()
然後在pig中通過將小鳥賦予Player的標籤來實現小鳥受傷,來呼叫bird類中的Hurt()方法。
四.運用靜態方法來完成對聲音的呼叫。
首先定義三個AudioClip型別,分別為小豬受傷時的音訊,一個小豬死亡時的音訊和小鳥發生碰撞時的音訊。
定義此靜態方法
然後在通過AudioPlay()方法來呼叫
相關文章
- 憤怒的小鳥太空版下載遊戲遊戲
- 類似憤怒的小鳥關卡中雞的設定
- 學習憤怒的小鳥:對Android遊戲的一些思考Android遊戲
- AngryBirds(憤怒的小鳥)無法啟動的解決辦法
- canvas繪製憤怒小鳥形象程式碼例項Canvas
- 艾瑞諮詢:《憤怒的小鳥》系列遊戲影響力日漸式微遊戲
- P2831 [NOIP2016 提高組] 憤怒的小鳥
- 「Macos最新」憤怒的小鳥重製版Angry Birds Reloaded for Mac 中文版Mac
- 《憤怒的小鳥》CEO上任一年就辭職無IPO計劃
- 《憤怒小鳥》開發商裁員130人:業務增長緩慢
- 玩家——受傷後的保護狀態
- 類似憤怒的小鳥層滑動的視差效果(CCParallaxNode)和粒子效果記憶體洩露問題記憶體洩露
- Rovio財報:2013年Rovio營收為1.56億歐元 《憤怒的小鳥》利潤下降近50%營收
- 16 ##### 適合靜態方法的場景:方法中不使用物件的值,則直接使用靜態方法物件
- 解決方法|小鳥雲伺服器建站無法訪問的小技巧伺服器
- 馬雲:用菜鳥的心態做智慧骨幹網 24小時到達
- 需要恢復中斷狀態的一個場景
- 菜鳥教程——iOS動態庫與靜態庫iOS
- 菜鳥學SSH(八)——Hibernate物件的三種狀態物件
- vue專案中前端判斷使用者登入狀態以及驗權Vue前端
- 後期靜態繫結在PHP中的使用PHP
- 小鳥雲的雲伺服器適合什麼樣的使用者?伺服器
- NOIP2014飛揚的小鳥[DP][WRONG]
- 老鳥程式設計師才知道的40個小技巧程式設計師
- javascript中的this使用場景以及箭頭函式中的thisJavaScript函式
- 小鳥雲伺服器 新增香港高防雲伺服器,抵禦DDoS攻擊伺服器
- JAVA專案:Java實現飛揚的小鳥(Flappy Bird)JavaAPP
- 菜鳥變高手:Windows XP中的秘密武器(轉)Windows
- 小鳥雲伺服器什麼配置好?伺服器
- 寫一個菜鳥裹裹小程式吧
- 鳥哥私房菜-基礎篇小筆記筆記
- .NET偽靜態使用以及和純靜態的區別
- Java類、物件以及(靜態)方法的探討Java物件
- js中的靜態變數JS變數
- 分析幼年菜鳥們的玩具對其日後發展的影響
- javascript中對變數型別的判斷方法JavaScript變數型別
- Linux菜鳥到老鳥的那些建議Linux
- 【後知後覺系列】css position: sticky 屬性以及某些場景的使用CSS