事實上做出來並沒有很帥氣(笑)看到大家都打遇到的困難與心得感覺上不打點困難好像真的不太行
事實上最主要的技術問題是在於OPENCV的版本學校的版本與現行下載的版本好像會有所不同,這就造成了一些LIB讀不到的窘境,為了能在家裡打程式碼我設定DEV C設定了很久,首先要打開編譯器選像把INCLUDE檔跟LIB丟進去函式庫、C、C++裡面,然後把原本程式碼裡面的cvcam.h改成highgui.h,因為在OPENCV2.0裡面是沒有cacam這種東西的...
程式碼的開發部分在視訊這部分本身沒有太大問題,就算是照本抄課,顏色的判定採取當紅色大於另外兩種三原色時就成立,所以他蠻敏感的。
結構上開發就比較精彩了,因為我們是做兩個視窗,一個是CV另一個是介面,也就是說絕大部分花的功夫其實在這裡,重大做法改變是我把原先大家用的while迴圈改成for迴圈,這樣我比較方便設定一些條件,然後我有事先做一份結構計畫,這樣使的流程變的比較清晰,以免自己做到會抓狂,使用一個變數去儲存模式,這樣在不一樣的模式切換就會變得很方便,這其實是在互動多媒體中學到的小技巧,我的好夥伴除了跟我一起構思、打程式以外最強的就是用了PS把倒數的3、2、1、start的影像改成半透明的,這樣就不用在程式中為了double資料型態卡在一些輸出的地方。
說實話專題做出來大家反應太冷落讓我有點小哀怨,這東西果然要放得開的人才能玩得很開心,我果然太孩子氣了點(笑)
下面是程式結構
model = 0 ;
for()
switch(model)
case 0: 介面
model=1
case 1: load 圖3
load 圖2
load 圖1
load 圖START
model=2
case 2: load 圖fight
崁入 load 圖tip1
等待3秒
if(框內平均顏色 > 標準值1)
load 圖 HIT1
NPC LIFE --
if(NPC LIFE = 0)
model=5
model=3
case 3: load 圖fight
崁入 load 圖tip2
等待3秒
if(框內平均顏色 > 標準值2)
load 圖 HIT2
PLAYER LIFE --
if(PLAYER LIFE = 0)
model=4
model=2
case 4: load 圖 NPC WIN
exit
case 5: load 圖 PLAYER WIN
exit
下面是我們拍的影片
因為是用耳機所以程式的聲音很小
然後相機電池沒電害我們只拍到一分鐘
不過還是觀看觀看
最後說其實我不會坎youtube進去網頁,從來沒這樣做過,有修web新興技術真是太好了(笑)
沒有留言:
張貼留言