2019年6月26日 星期三

04360501_Race Car

Race Car




遊戲介紹:
透過視訊裝置的差異偵測,判斷手指頭是否有碰到視訊中的箭頭,進而控制賽車遊戲中的賽車左右移動。首先先按下畫面中的"Start"的按鈕,接著Form1會new一個Form,命名為"Form2",之後Form1會執行Show Form2的動作,Form2顯示出來後會執行close Form1的動作並進行基礎的設定,如下圖:


我設定第20個frame至第50個frame期間,系統會自動擷取每個frame並製成background,前面20個frame不採用的原因是因為攝影機剛開有模糊一段時間,會導致差異偵測錯誤,所以我不採用前20個frame。

接著,開啟NES(Nintendo Entertainment System)模擬器,並載入Road Fighter的NES檔案,如下圖:



遊戲按下Enter鍵即可開始,按下鍵盤x不放可以加速,按下方向鍵的左右即可讓車子左右移動。而我設定當Form 2的background設置完成後,便會按著x鍵不放,所以玩家只要專心地控制車子的左右即可。遊玩畫面如下圖:


製作困難處:
一開始在新增一個Form的時候遇到了一些問題,便上網查詢如何新增form,但是網路上寫的大部分都沒辦法完成我的需求,在使用者在Start的畫面時便同時建立好Form 2且攝影機開機完成。最後只好取折衷方案,在按下Start的按鈕後才開始建立Form 2。

第二個遇到的問題是我要如何同時執行鏡像&放箭頭&差異偵測的callback function,解決方法為:全部寫在同一個callback function裡面,並修改一點程式即可正常運作。

第三個為遊玩上困難之處:本來我是想設計成使用頭左右搖擺,讓頭去碰觸鍵頭,不過我發現這樣會無法讓我專心盯著銀幕,而且會讓頭很累,所以我最後才用手指頭來玩。

影片:






沒有留言: