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

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

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

img

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

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

  • 写回答

3条回答 默认 最新

  • 恬静的小魔龙 Unity3D领域优质创作者 2021-09-18 09:51
    关注

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

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

报告相同问题?

问题事件

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

悬赏问题

  • ¥15 Python中的request,如何使用ssr节点,通过代理requests网页。本人在泰国,需要用大陆ip才能玩网页游戏,合法合规。
  • ¥15 Oracle触发器记录修改前后的字段值
  • ¥100 为什么这个恒流源电路不能恒流?
  • ¥15 有偿求跨组件数据流路径图
  • ¥15 写一个方法checkPerson,入参实体类Person,出参布尔值
  • ¥15 我想咨询一下路面纹理三维点云数据处理的一些问题,上传的坐标文件里是怎么对无序点进行编号的,以及xy坐标在处理的时候是进行整体模型分片处理的吗
  • ¥15 CSAPPattacklab
  • ¥15 一直显示正在等待HID—ISP
  • ¥15 Python turtle 画图
  • ¥15 stm32开发clion时遇到的编译问题