2011-11-28 88 views
1

现在我正在使用cocos2d + Box2d在carrom游戏中工作。我设置了world gravity(0,0) ..在z轴上做重力。这是适当的还是其他价值?cocos2d,box2d:基于硬币的游戏:在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?

回答

2

你遇到的问题是摩擦只适用于两个物体碰撞时。由于硬币刚刚漂浮在空中,因此不会有任何阻力。为了解决这个问题,并应用空气阻力的一个非常粗略的估计,you should set the linearDamping property of the body's definition

bodyDef.linearDamping = 0.5f; 

尝试使用不同的值进行试验,直到它看起来你的权利。

+0

谢谢,先生,现在工作。 – Guru

+0

由于你的建议很好,我们创建了这个卡罗姆游戏先生。谢谢。 http://itunes.apple.com/us/app/carrom-pro/id525961441?mt=8 – Guru