2020年7月3日 星期五

06361155 馬叡竣 AR水果忍者



介紹:
水果忍者》(英語:Fruit Ninja)是Halfbrick工作室開發的一款電子遊戲,於2010421日在iPod TouchiPhone裝置首次推出。遊戲獲得了業界和消費者的好評。
這次的期末專題我借鑿了水果忍者的遊戲玩法,搭配AR的技術,使其以嶄新的方式呈現。















遊戲玩法:
玩家要在60秒內,將飛出來的水果切成兩半,並且躲避所有的炸彈。成功切到水果就可以加分,但是觸碰到炸彈或是沒有被切到的水果掉出螢幕之外則會進行扣分。





遊戲細節
介面:
首先我們必須先點選Callback FuntionBackground來取出背景影像以便之後的差異偵測
接著點選Game  Play




物件:
有西瓜、鳳梨、蘋果和炸彈。
一開始會出現在兩邊並且向另一邊一慢慢移動。
假如物件移動到螢幕之外,他的顯示狀態就會變成false,並開始亂數計時倒數,等待計時歸零,則會再次出現在螢幕兩邊
移動:
我在虛擬物件類別裡面放入了亂數的移動數值,在影像偵數在切換的過程中,使物件的座標去加上移動的數值,就可以做出移動的效果。
當物件觸碰到頂端時便會將Y的移動座標變成負數,這樣物件就會往下移動。

觸碰效果:
為了達到觸碰水果後有切開的效果,我必須先將切開前後的圖片先讀入陣列之中,在物件與實體物體碰到的時候就切換圖片,達成水果切開的效果。

音效:
利用c++ builder MediaPlayer元件來播放背景音樂
MediaPlayer.Open()  MediaPlayerPlay()函數來撥放音樂
碰到水果和炸彈分則是使用PlaySound()函數來呈現刀子和爆炸的音效

遊戲結束:
遊戲的時間設定為60秒,當時間到時,物件便不會繼續出現,遊戲結束。

實際遊玩畫面:





實際遊玩影片:





心得:
這次的期末專案,從策劃到實際做出來真的經歷了不少波折,我試過了不少的遊戲類型,最終決定以水果忍者作為主題。
決定好主題便開始實作,因為這學期其末有不少作業需要完成,所以一直到6/29號才真正開始做,一開始不太順利,移動的數值要麼改都還不明白,直到星期三來學校做到5點多才漸漸進入狀況,
慢慢的把遊戲架構出 來了,經過星期三四的持續不斷努力,終於趕在Demo前把遊戲完成了。
以前上課的功課都是照本抄課,只需要照著老師的步驟走就能完成作業,但這次的體驗跟以往不同,這個比較像是以後我們到業界比較會遇到的體驗,就是老師給了一個方向,但是其他的設計,還有玩法全部都要自己解決,經過這次的作業,讓我更熟悉這些整合的開發軟體的作法,相信對我的未來都是相當有幫助的,而且報告完還可以吃麥當勞,真的是獲益良多的一堂課阿。