作者StubbornLin (Victor)
看板GameDesign
標題Re: [問題]電流急急棒小遊戲設計 [跪求]
時間Wed Jun 14 16:45:08 2006
※ 引述《k0926182480 (白目大學生)》之銘言:
: 我們是想先畫出牆壁的陣列 在畫出棒子的陣列
: 再把兩個陣列放到一個新陣列
: 再把新陣列SHOW到LCD面板上去
: 至於判斷是否有碰到
: 是想說用 兩個陣列先去做AND運算 再放到新陣列去輸出
: 可是現在把兩個陣列圖重疊上去 卻無法定位到LCD上
: 是要放到ARM上面 週邊有keypad 4*4 dip switch 7段顯示器 lcd 點數是128*128
: s3c 2410
我在這邊提供一下碰撞的做法,我不知道在LCD上面show是怎樣的資料結構
先假設每一個Pixel是一個char,0是關,也就是沒有顏色,1是開,也就是有顏色
首先,先找出急急棒是在哪個範圍,也就是說,看那些牆壁有可能和急急棒撞到
才去判斷
char wall[16*16]; // 假設一個牆壁的磚塊大小為16*16
char stick[8*8]; // 假設急急棒的圖案大小是8*8
int stickend = 8*8;
for(int i=0;i<8;++i){ // 跑整個stick的圖片的高度
int wallstart = (Y+i)*16 + X; // 計算出stick在wall裡面的起點
for(int j=0;j<8;++j){ // 跑整個stick圖片的寬度
if(stick[i] && wall[wallstart+j]){
return true; // 兩個Pixel都為true,發生碰撞
}
}
}
但是請注意,在這段程式碼執行前,必需先把範圍裁切好
否則,判斷的部份會超出範圍,以上程式碼是隨便寫的
沒有經過測試,可能會有錯誤,主要請參考概念
--
VICTOR工作室 |
PTT遊戲設計版隆重開幕!
|
不管是新手老手,程式美工音樂企劃....
URL :
http://www.kinmen.info/vic/ |
都歡迎來遊戲設計版參與討論 XD
|
戰略高手>
C/C++ |
GameTopics>
Visual Basic 6.0 |
GameDesign
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 59.116.65.178
1F:推 p013080:感謝你的幫助..... 06/15 00:19