cocos2d,box2d:基于硬币的游戏:z轴重力,硬币漂浮

时间:2011-11-28 12:00:22

标签: cocos2d-iphone box2d

现在我正在使用cocos2d + Box2d开发类似游戏的卡罗姆。我设置world gravity(0,0) ..使重力在z轴上。是正确还是其他任何价值?

我为硬币前锋身体设定了以下值:

  Coin body: 
         density = 20.0f;
         friction = 0.4f;
         restitution = 0.6f;
         Shape Circle with radius - 15/PTM_RATIO

  Striker body: 
         density = 25.0f;
         friction = 0.6f;
         restitution = 0.3f;
         Shape Circle with radius - 15/PTM_RATIO

当我应用ApplyLinearImpulse(force,position);

时,输出不顺畅

硬币运动看起来像漂浮在空中......需要太多时间才能停止......

硬币和前锋的哪个值使它看起来像真正的carom?

1 个答案:

答案 0 :(得分:2)

你遇到的问题是只有当两个物体发生碰撞时才会施加摩擦力。由于硬币只漂浮在空气中,因此没有施加阻力。要解决此问题并应用非常粗略的空气阻力近似值you should set the linearDamping property of the body's definition

bodyDef.linearDamping = 0.5f;

尝试使用不同的值,直到它看起来正确。