2014年6月26日 星期四

00360231 許愷林

2014 期末專案心得

資工三甲
00360231
許愷林

遊戲主題: 用視訊控制 仙劍奇俠傳一 (DOS版)  PS.(童年的回憶)

        原先一開始我是打算要用視訊來控制神奇寶貝,但我實際做出來然後進行程式跟遊戲進行連結時,發現無法跟遊戲做互動,一開始我以為是我程式碼出問題,後來發現原來是玩神奇寶貝的模擬器不吃我程式碼傳出來的資訊,所以我才在朋友的玩笑下拿國產經典RPG遊戲 仙劍奇俠傳一 來做。


        這是我的視訊控制畫面,玩的方法很簡單,只要用手指去觸碰上方的方向鍵、確認鍵或選單鍵就可以控制仙劍一中的角色。

        而在程式開發方面,大部分的的時候是還瞞順利的,有出現比較棘手的情況發生了2次,第1次控制主角移動,例如當我要左移時,我就必須在視訊控制室視窗中觸碰左移按鈕來觸發左移事件,但問題來了,我的左移事件程式碼是傳出鍵盤的方向鍵"左"的虛擬按鍵代碼,為了可以出現連續左移的動作,所以我並沒有給他放開左鍵的虛擬按鍵代碼,這就會造成我只要銃碰左移按鈕一次,就算手離開了,遊戲內還是會一直左移,為了解決這個情況,我就寫入了放開左鍵的虛擬按鍵代碼,但是我發現遊戲內角色會左移一格然後停住、在左移一格又停住,不能很順的連續左移,最後我才再多一個判斷式,當我觸碰按鈕的差異點小於31時,我就傳出放開左鍵的虛擬按鍵代碼,結果終於成功了。
第2次是我為了能在玩遊戲時直覺一些,所以我做了鏡像,但我後來發覺我在遊玩時的確是鏡像模式,但我換成在8*8 Block Mode 模式底下玩時,並沒有鏡像,後來發現說未在擷取背景時並不是擷取鏡像後的畫面,設定好後,又發現我的8*8 Block Mode 模式下的畫面還是錯誤的,在老師的提醒像我才發現,會出現錯誤的原因是因為我在顯示8*8 Block Mode 模式的畫面時,程式是把當前畫面去跟一開始擷取的背景圖做相減計算,但是由於我背景圖做鏡像了,所以原先相減的位置都不對了,修改後才成功。




心得:
        原先一開始我是覺得有些無聊,但後來發現期末專案要控制遊戲,我還覺得蠻好玩的,可惜的是我原先構想控制神奇寶貝失敗了,不然我還覺得那瞞好笑的。這次的課程除了程式碼的學習,還讓我學實物更虛擬物件之間的互動,還有影像與圖片的處理,收穫真的很多。


仙劍圖片來源:
http://i2.wp.com/ifree.soft4fun.net/wp-content/uploads/2013/02/DOS_iPhone_iPad_-3.png?resize=500%2C333

沒有留言: