首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何让多个玩家在多个对象之间进行碰撞检测

如何让多个玩家在多个对象之间进行碰撞检测
EN

Stack Overflow用户
提问于 2012-08-17 20:34:43
回答 1查看 178关注 0票数 0

我在游戏中有3-4个玩家和许多物体(像石头,树,cactus..etc)。我必须找到物体和玩家之间的碰撞检测。

用速度性能来找出物体和玩家之间的碰撞最简单的方法是什么?

如果我将用于步进移动的播放器位置传递给object类以查找碰撞检测,则可能会降低性能(each_step_of_player * all_objects)。

我的另一个想法是,我将为object类中的每个对象编写一个调度函数,并且对于每个调度函数调用,我将检查与所有玩家位置( Object * all_players)的冲突。关于速度性能,这个想法是怎样的?

有没有其他的想法会很受欢迎?

EN

回答 1

Stack Overflow用户

发布于 2012-08-17 21:24:04

可以使用基于栅格的碰撞检测。

将屏幕分成正方形单元格网格,每个单元格至少与最大的对象一样大(这一点很重要)。根据对象的中心所在位置,为每个对象分配一个单元。移动对象时,将其重新指定给相应的单元格。现在,您不必针对所有其他对象检查对象是否存在碰撞,只需针对其单元格和相邻单元格中的对象进行检查。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12005929

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档