2011-04-10 60 views
0

我做了一堆搜索,但我不确定什么答案适用于我的问题。我正在制作一个简单的游戏,在计时器中,图像向下移动,同时左右移动“角色”。我怎么会让它在碰撞时从变量中减去1?我可以根据需要发布代码C++简单图像冲突

+0

是你的问题检测碰撞或从某物减去?是的,一些(短)代码提取将会有所帮助。 – Mat 2011-04-10 16:49:30

+0

其检测碰撞和继承代码http://pastebin.com/mirW1bQM – Al3xhamilton 2011-04-10 17:12:11

回答

3

你说的是碰撞检测吗?我可能需要代码,但我假设你知道对象的宽度和高度,x和y位置,并且它们是矩形的。检查它们是否相交应该是微不足道的。检查对象1的(y +高度)是否大于对象2的(y +高度),并且对象1的(x +宽度)是否大于对象2的x。为其他边缘做类似的事情。

编辑:事实上,你可以在另一个线程上运行碰撞检测只是做不会妨碍你的UI线程。

+0

我的问题之一是找到X和Y我知道宽度和高度。 – Al3xhamilton 2011-04-10 17:06:26

+0

你不存储对象的位置吗?如果不是,你如何处理实体? – ssube 2011-04-10 17:07:50

+0

好的,你在用什么库?你可以发布一些代码吗?这将有所帮助。 – awesomeguy 2011-04-10 17:07:59

0

这取决于字符的形状。对于两个圆都是简单的情况,您可以在每个步骤中找到中心之间的距离,并在达到小于半径之和时触发碰撞。对于矩形形状的情况,它也会非常简单。

+0

它的矩形是否有一种简单的方法可以在每次移动时查找xy并检查xy是否与“下降块”相同? – Al3xhamilton 2011-04-10 17:07:15