KRB*_*KRB 2 java android collision-detection
嘿伙计们,请看看我的代码,看看这里有什么问题.我查看了文档和所有内容,看起来这应该可行.
public Boolean CollisionTest (Rect one, Rect two) {
if (one.intersect(two)) {
collided = true;
} else {
collided = false;
}
return(collided);
}
Run Code Online (Sandbox Code Playgroud)
如果两个矩形碰撞,这不会返回吗?我怀疑这个的原因我在我的主线程中有一些空指针异常(它在我的游戏循环线程的finally语句中停止)调试时错误,当我不使用此函数时它很好.
非常奇怪,如果有人能发布链接到有用的碰撞检测教程,我也很感激.我想处理我自己的碰撞检测,而不是使用外部库.
感谢大家!
Don*_*nut 12
根据Android开发者文档的intersect功能:
如果指定的矩形与此矩形相交,则返回true 并将此矩形设置为该交集,否则返回false并且不更改此矩形.
我强调的部分意味着one如果矩形相交,你的参数可以改变 - 我猜测它是如何以某种方式设置null,并在游戏循环中导致你的错误.
文件还说明:
要测试交叉点,请使用
intersects().
此处提供了该Rect.intersects(Rect a, Rect b)方法的描述.
如果我们修改您要使用的方法Rect.intersects,它将如下所示:
public Boolean CollisionTest (Rect one, Rect two) {
return Rect.intersects(one, two);
}
Run Code Online (Sandbox Code Playgroud)
此时你可能CollisionTest完全摆脱并直接调用Rect.intersects- 除非在某些时候你想要实现自己的碰撞检测.在这种情况下,您只需要修改这个方法.这取决于你,真的.
| 归档时间: |
|
| 查看次数: |
8790 次 |
| 最近记录: |