前端之家收集整理的这篇文章主要介绍了
android – 如何使用Rect.intersect方法.,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我创建了一个游戏,你可以移动一个矩形并从天空中躲避其他下降的矩形.虽然每次矩形相交都没有任何反应.
如果(mSquare.intersect(jSquare)){
canvas.drawColor(Color.BLACK);
要么
collision = mSquare.intersect(jSquare);
if(collision==true){ canvas.drawColor(Color.RED);
} this always returns false no matter where the rectangles are.......
最佳答案
有很多
方法可以做到这一点,最简单的
方法是为每个Bitmap
获取边界Rect,并在每个时间步骤使用Rect.intersect()
方法检查冲突.
像这样的东西:
boolean collision = player.getRect().intersect(fallingObject.getRect());
此外,还有许多其他(更好)的方法可以做到这一点,特别是在处理不是矩形的对象以及屏幕上有很多对象时.查看this post for a good discussion
另外,“开始Android游戏”这本书有一个关于碰撞检测的伟大章节,如果您正在考虑编写游戏,这本书非常值得一读.