电晕物理不推动身体

时间:2015-01-01 23:01:35

标签: sdk lua corona game-physics

我正构建一个自上而下的视图游戏。 我有两个物理机构。球员和房子。我不希望玩家能够走到房子的哪个地方。我添加了两个尸体。

physics.addBody(part.house, "static", {shape=bodies.houses[1]})

physics.addBody(Player, {density=200,radius=30})

房屋的形状是一个阵列。

bodies.houses = {
                    {-120, 90, -60, 90, -60, 15, 30, 15, 110, -60, 110, -170, 30, -245, -120, -245},
                    {10, 10, 10, 0, 0, 0, 0, 10},
                    {10, 10, 10, 0, 0, 0, 0, 10}
                }

身体形状本身完美地位于图像上。但是玩家仍然可以跑过房子。请帮忙。

- 编辑1 使用此库移动播放器

local StickLib   = require("lib_analog_stick")

1 个答案:

答案 0 :(得分:4)

根据convex

的要求,您的建筑形状不是corona docs
  

corona docs:多边形形状必须完全凸出。你不能创建形状   具有凹形弯曲,例如碗或杯。要完成这样的   任务,你必须从多个多边形组装身体,如上所述   在下面的多元素机构中。

     

convex:在   凸多边形,边界上两点之间的线段   永远不会超出多边形。

你可以看到它不是凸面的,因为黑色线段留下了形状,但两端都在边界上。您可以将底部矩形位(在绿线下)折断到另一个实体中以解决此问题。

physics.addBody(part.house, "static",
   {shape={-120, 15, -60, 15, 30, 15, 110, -60, 110, -170, 30, -245, -120, -245}},
   {shape={-120, 90, -60, 90, -60, 15, -120, 15}}
)

Non convex shape