【发布时间】:2013-01-11 23:16:28
【问题描述】:
我正在开发一个自上而下的游戏,这个游戏将包含很多简单和复杂的碰撞。
在做了一些研究之后,我了解到我必须始终将我的角色与我的代码中的“对象”进行比较 - 然后检查碰撞计算。
EG:
CheckCollisions(Player, Object);
这意味着我必须将场景中的每个可碰撞对象添加到我的代码中:
CheckCollisions(Player, Building1);
CheckCollisions(Player, Building2);
CheckCollisions(Player, Trash);
CheckCollisions(Player, Bench1);
CheckCollisions(Player, Bench2);
CheckCollisions(Player, Office1);
CheckCollisions(Player, Office2);
首先,我的对象甚至可能不是简单的矩形,它们可能是复杂的形状。其次,其中一些可能有自己的轮换。第三,如果我的场景中有数以万计的可收集对象会怎样?
难道没有更简单的方法来检查 HTML5/JS 游戏中的冲突吗?
这甚至可能吗?我真的只是在寻找一些建议和指示。
谢谢
【问题讨论】:
-
a) 使用循环 b) 这些天浏览器性能非常好 c) 许多对象有更好的碰撞检测算法
-
对于复杂的形状,请更具体。向我们展示您的
CheckCollisions代码,以及您为匹配这些案例所做的尝试。 -
嗨@Bergi,我实际上还没有编写我的CheckCollisions 代码,因为我正在研究最好的方法。当我说“复杂形状”时,我的意思是具有自己的多边形点的形状(例如 - 绘制星形等......)
-
您也可以查看GameDev.SE(请务必阅读他们的常见问题解答,我不是那里的常客,所以我不完全确定他们的范围是什么)。
标签: javascript html collision