當撿取「暗之花」時,會噴出五朵花瓣。這些花瓣就像金幣一樣,主角碰到後會收集起來
收集花瓣的效果
在那個的基礎上,再設定一個「撿取物品後會噴出花瓣」的機關就好
而要讓花瓣有「噴出來」的感覺,遊戲裡是用AddForce的方式,為每片花瓣加上作用力
加在花瓣上的作用力,往上的力度是固定的,而左右則是Random一個數值,以增加隨機感
花瓣在左右移動時,為了加強動感,亦讓它會隨著左右移動而旋轉
(其實有嘗試過用程式模擬這樣的效果,但功力不足((ry _(:3」)
花瓣噴出來後,會停留在地上,等待玩家收集
這個功能是用OnCollisionEnter來實現
在玩家碰到花瓣後,花瓣會飄向左上方(HP UI 附近的位置)
當初要實現這功能時,碰上的問題為「花瓣與UI的座標系統不同」
左邊是一般GameObject的座標,右邊是UI 的座標
理論上,座標只需要轉換一次,花瓣位置就不會太偏差
只是在花瓣飄行的過程中,玩家仍會繼續移動,所以UI位置仍會出現差異(雖然不太明顯)
因此,座標轉換的程式碼是寫在while裡面的,讓位置能持續更新
這樣會不會太吃效能,我就不太清楚了_(:3」
在花瓣飄到指定位置後,會播放粒子特效,提示玩家已收集到花瓣
與此同時,花瓣獲得數會+1。因為這數字會跟隨玩家一輩子(?),所以是宣告在共用參數腳本中
功能大致上是這樣,但老實說這腳本我也是很不滿意ww
畢竟現在每朵花瓣都要加上Rigidbody,感覺上就是個土法煉鋼的做法
如果能用腳本做出「噴發」的效果的話,在物理操控上也方便管理一點
只是嘛……這是需要花點時間研究的東西
而所謂的畢製,就是你永遠沒時間去搞研究w
沒有留言:
張貼留言