2013-06-05 63 views
0

我目前正在嘗試在我的遊戲中實現「蹲伏」功能。我正在使用Box2D的WCK。Box2D AS3 - 刷新形狀或Hitbox?

我有一些相當基本的東西,我生成我的主角作爲形狀的延伸。這意味着碰撞是從getgo自動生成的。這對很多事情都很棒,但不是一切。

我有一個蹲/滾功能。問題在於蹲伏和站立的撞擊盒是相同的,所以如果一個盒子掉在你身上,同時蹲在你的上面,因爲撞擊盒仍然是站立的撞擊盒。

我該如何去「提神」形狀碰撞?有沒有辦法刪除碰撞並使Box2D重新計算?

+0

似乎沒有其他方式,除了改變碰撞形狀 – Cherniv

回答

0

可以過濾聯繫人並防止它們發生(使用聯繫人偵聽器或迭代世界聯繫人列表),但我認爲有更好的方法來做你想做的事情。

您可以將身體分爲兩部分,並將它們與棱形關節(限位和馬達啓用,collideConnected禁用)連接。站起來的時候,你會讓馬達把零件推到上限,當你蹲下時你會把它們拉到下限,從而降低高度。

如果你真的需要不同的形狀(比如站立時一個矩形和周邊的銀河戰士風格的滾動圈)這可能工作:既形狀的燈具添加到身體,並使用口罩過濾,以防止一個你不從需要與任何東西碰撞。