作者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