2015年7月5日 星期日

跳舞機

本期末專案是大二互動媒體專案的視訊控制,互動媒體專案做的是跳舞機

動機:某次上課時老師提到大家的節奏遊戲的按鍵節奏大多都是隨機的,诶有節奏性,這對節奏遊戲迷的我來說這根本稱不上節奏遊戲,而互動媒體時做的跳舞機遊戲是有節奏性的,剛好可以跟這次的課程來做結合並互動。

本專案是用老師的變色龍消失的範例進行修改,使用差異偵測觸動鍵盤操作。


上圖為專案的視訊畫面,畫面上方的按鍵分別是方向鍵左 方向鍵下 方向鍵上 方向鍵右,以及確認鍵。
程式碼的部分,最主要是把碰到後消失的部分改成碰到後觸發按鍵的事件,將消失的程式碼改成
keybd_event(VK_LEFT, 0, 0, 0);
                keybd_event(VK_LEFT, 0, KEYEVENTF_KEYUP, 0);
而這樣雖然可以在記事本成功打出對應的字,但是沒辦法在遊戲中成功有鍵盤的操作,而請教過同學後得知要在兩個程式碼之間加入Delay來讓他等一下,將程式碼改成
keybd_event(VK_LEFT, 0, 0, 0);
Delay(100);
                keybd_event(VK_LEFT, 0, KEYEVENTF_KEYUP, 0);
中間的Delay函式是等待的函式,是自己外加的


上圖為跳舞機專案的遊戲畫面,一開始有EAZY NORMAL HARD三種難度可以選擇,每種難度都對應一首音樂,共三首音樂


上圖為遊玩中的畫面,有四個方向,當箭頭跟左上對應的方向碰在一起時必須按下對應的方向鍵即可得分,combo數也會增加,若中途有沒按到的鍵,combo數則會歸0combo數越高,每個按鍵的得分也會越高。

上圖為結合後的畫面,當左邊的箭頭跟左上方相對應的方向鍵時,就必須碰到右邊畫面上方對應按鍵,此為標準的錯誤示範,明明要按方向右結果按的是方向上。



心得:這次專案是屬於第二備案,原案雖然有辦法運行不過過於難玩而放棄,第一備案則是不支援專案的鍵盤操作故放棄,不過因為有老師的範例再加上這幾個專案都是鍵盤操作,所以差異性不是特別大,需要修改的地方比較少,在相對應的部分做修改即可,所以在做備案的時候其實沒有花太多時間。
這次的虛擬實境專案是很不錯玩的,這是之前的課程沒有學過的,而且互動性也很高,互動媒體的跳舞機專案含這次已經是第二次拿來做結合了,每次結合都必須依照專案所需而做修改,若途中發覺到有可以優化或增減的地方,可進行更改,而且可以跟之前的作品做結合,其實也是挺開心的,表面上只有操作的部分是自己的東西,實際上連遊戲都有自己的部分,這種感覺真的很不錯。
不過當初互動媒體是分組專案,所以那個專案不是全部都是自己寫的,所以也要再次感謝那位組員,沒有他也沒有這個專案。

                                          影片:


音樂來源:東方永夜抄的遊戲音樂
EAZYプレインエイジア  https://www.youtube.com/watch?v=zrjz_lyk4_g
NORMAL月まで届け、不死の煙  https://www.youtube.com/watch?v=9tNv318O7o8
HARD竹取飛翔 ~ Lunatic Princess  https://www.youtube.com/watch?v=7LCyslzt3UU

背景圖來源:
EAZYhttp://www.pixiv.net/member.php?id=1273668(這是該圖的繪師,圖已刪除)
NORMALhttps://danbooru.donmai.us/posts/30759
HARDhttp://matome.naver.jp/odai/2137063034035225701/2137063062235245603

沒有留言: