hfh215246411 2021-09-15 17:15 采纳率: 90%
浏览 34
已结题

关于2d平面游戏元素碰撞的一些想法

1,使用一个二维数组来表示游戏的静态元素,形如:

img

其中0表示空气,1表示泥土
这样玩家移动时碰撞检测,则只需要获取自己在二维数组中的位置,在判断该位置四周几个格子是否存在实体元素,并进行碰撞检测就行了,这样大大简化了碰撞检测的次数。

但如果存在动态元素我又该怎么判断呢?遍历所有动态元素并一一进行碰撞检测?这样对性能影响太大了,看起来也很蠢。实际游戏中的碰撞检测到底是怎样实现的?

  • 写回答

3条回答 默认 最新

  • 恬静的小魔龙 领域专家: 游戏开发技术领域 2021-09-18 09:51
    关注

    你觉得遍历全部消耗性能,那你可以只让这个对象的周围8个元素参与遍历呀,每移动一步将上一步的八个元素清除,再加八个元素

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 11月9日
  • 已采纳回答 11月1日
  • 创建了问题 9月15日