顯示具有 01361162 蕭夢葙 標籤的文章。 顯示所有文章
顯示具有 01361162 蕭夢葙 標籤的文章。 顯示所有文章

2016年6月30日 星期四

01361162 - 綿羊過馬路

遊戲展示影片


這次專案我選的遊戲是綿羊過馬路,會選擇這款遊戲是因為我自己很愛玩這類型的遊戲,想知道把控制方式從指頭換成身體動作的效果會是如何,本來預想是簡單的小遊戲改用互動視訊來控制應該也很容易上手,沒想到過關的難易度直接從一顆星跳到五顆星。



遊戲玩法:
上圖左邊所展示的虛擬按鍵與差異偵測的介面,右邊是遊戲畫面。遊戲本來是以鍵盤的上下左右鍵來控制綿羊的移動方向,而在此專案則玩家可以透過觸碰虛擬按鍵介面裡的上下左右箭號區塊來控制綿羊分別往前後左右移動,成功把五隻綿羊移送到對面的木柵裡就可以進級下一個關卡;移送途中若被車子撞到就會失敗,總共有三次機會;進級後機會將會重置。


專案心得:
因為老師再三的強調要把上課投影片裡的實作全部做過一遍才開始做專案,我就乖乖地跟著做完,果然實作對於做專案非常有幫助。首先是處理虛擬按鍵與差異偵測的部分,只要照著老師寫的程式碼進行部分的修改,很快就能做出所需要的玩家介面,但因為透過視訊鏡頭會使玩家的動作與螢幕所顯示的動作左右顛倒;雖然老師的程式碼有教鏡射的處理,但我剛開始沒有搞懂處理陣列的先後順序,一直Try and Error才得到想要的鏡射後再做偵測的效果。可是鏡射並不是這次專案裡面讓我卡關最久的,讓我卡了整整三天的是我自己的不小心!在處理差異偵測時,需要先擷取背景畫面,放置該畫面的TImage的Property名字是設成imBackground,而起動差異偵測程序的功能列的Property名字則設成miBackground;又剛好在建立imBackground時不小心雙擊了它,導致在程式碼產生了一個imBackgroundClick程序,而超級不小心的我就把本來應該放在miBackgroundClick程序裡的程式碼放在imBackgroundClick裡面,程式碼又沒有錯誤,最後變成編譯成功但點擊miBackgroundClick卻什麼都沒有做!而我回頭檢查程式碼時又沒有去檢查程序名字,結果這樣一個不小心的錯誤讓我Debug了三天,最後我會發現是因為突然靈機一動去雙擊miBackground功能列,才看到程序裡頭根本沒有程式碼。我學到教訓了!以後建立Property不會隨便雙擊,Debug時也會從程序名字開始小心檢查!

專案檔案
https://drive.google.com/open?id=0B5QGO4BEGv-HVWlQdWxkVlZLWmM

2016年5月13日 星期五

01361162 蕭夢葙 作業1+2

作業1截圖


心得:  這個作業不難,照著老師投影片上寫的tagCapStatus的結構資料型態去加Label,再把對應的事件處理程序寫進程式碼裡面就完成了,只是因為Label有點多,一直做重複的動作改Label的Name和Caption讓眼睛有點脫窗...


作業2截圖

心得: 第二個作業比較好玩,一開始我只顧著思考怎麼把ColorDialog拿到的色彩值套進記憶體的U、V值裡,忘記要先讀取視訊基本資料,沒有把讀取資料的程式碼寫進去,結果可以編譯但完全沒有效果,最怕就是遇到這種沒有程式碼錯誤但就是得不到想要的結果的情況;後來再去看老師的投影片才發現原來根本沒有拿到視訊資料,最後把程式碼補進去就成功了。

作業專案連結