Box2D AS3 - 刷新形状还是Hitbox?

时间:2013-06-05 13:01:13

标签: actionscript-3 box2d collision shape

我正在尝试在游戏中实现“蹲伏”功能。我正在使用WCK和Box2D。

我有一些相当基本的东西,我生成我的主角作为形状的延伸。这意味着从getgo自动生成冲突。这对很多事情都很好,但不是一切。

我有一个蹲伏/滚动功能。问题是蹲伏和站立的命中箱是相同的,所以如果一个盒子落在你身上,而蹲伏它“漂浮”在你的上面,因为hitbox仍然是常备的命中箱。

我如何“刷新”形状碰撞?有没有办法删除碰撞并使Box2D重新计算?

1 个答案:

答案 0 :(得分:0)

可以过滤联系人并防止他们发生(使用联系人监听器或迭代世界的联系人列表),但我认为有更好的方法可以做你想做的事。

您可以将主体分成两部分,并将它们与棱柱形接头连接(限制和电机启用,禁用collideConnected)。站起来你会让马达将部件分开到上限,当你蹲下时,你将它们拉到一起,从而降低了高度。

如果您需要非常不同的形状(例如站立时的矩形和围绕metroid风格滚动的圆形),这可能有效:将两个形状的灯具添加到身体并使用蒙版过滤来防止您不需要碰撞的那个什么都有。