我有一个跳跃游戏。有些物品在跳线收集时会在空中停留3秒然后掉下来。为此,我做了以下事情:
// to stop the body in the air
body->SetGravityScale(0);
body->SetLinearDamping(7); // don't want abrupt stopping
3秒钟后让身体再次从空中坠落到地面:
body->SetGravityScale(1);
body->SetLinearDamping(0);
但它继续留在空中。只有当我向它施加一个小冲动时,它才开始下降。为什么呢?
编辑:我已明确设置:
m_world.SetAllowSleeping(false);
但无论如何,我应该运用线性冲动让他退缩或只是做:
body->SetAwake(true);
即使m_world.SetAllowSleeping(false);
,身体也在睡觉。这个可以吗?
答案 0 :(得分:0)
检查你的世界,看看它是否有重力,即使重力等级= 1,你的身体也不会在没有重力的情况下坠落。
如果您的问题不存在,请检查您的身体是否受到重力检查的影响,如果身体是一个动态的身体。
我认为如果我在你的问题中评论它会是最好的,但我没有足够的Rep:/
希望有所帮助:)