yan*_*234 3 java resources paint collision-detection
我在java中制作游戏,其中涉及角色在地图上移动并且通过从文本文件中读取某些数据而在地图周围放置一些固体碰撞对象(即建筑物).将有多个地图,这些对象的位置将发生变化.我的问题是会绘制一个特定颜色的矩形,指示这些结构背后的碰撞,或者读取鼠标坐标并搜索这些结构的数组以查看该点是否位于建筑物上,从而拒绝移动或改变,更加足智多谋, /或更快.如果绘制矩形是最好的,将其留在结构后面或在检测到碰撞后删除它会更好.谢谢你的时间!
在大学三年级的时候,我为windows手机开发了碰撞检测系统算法.它并不完美,但它极其高效,可以适应大多数游戏.
它的工作方式非常简单.有两种类型的对象; 可碰撞的物体(如敌人或建筑物)和您希望检查与这些可碰撞物体碰撞的物体.
当我浏览数据结构类时,我有了这个想法,我们谈到了链接列表.我想如果每个链接都是一个可碰撞的对象,你可以粘贴已经在其中创建的游戏对象.然后,当游戏对象四处移动时,您将有一种轻量级的方法来检查它们的碰撞位置.因此我的系统诞生了.
实际上,它是一个可以在每个游戏周期或您选择检查碰撞时触发的类.你可以给它你的玩家位置,子弹位置或者想要看到的对象,如果它与某些东西碰撞,它会搜索所有可碰撞的对象位置并进行测试以查看它们是否重叠.
当你添加第二个元素(位置和象限)时,它的真正效率发挥作用
例如,如果我将手机屏幕分成几部分并且我知道我的播放器或子弹在哪个象限,我可以选择仅扫描该象限内的可碰撞对象列表.从而将搜索算法缩小到其原始大小的四分之一.

有许多不同的方法来检测碰撞.这是我在课堂上使用的一个简单示例,用于说明如何检测两个实际上是正方形的圆碰撞.正如您可以通过获取圆的中心点坐标和半径来看,您可以计算斜边并确定它们在何处或是否在接触.

祝好运!如果您有任何问题随时问!