现在我正在使用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?
答案 0 :(得分:2)
你遇到的问题是只有当两个物体发生碰撞时才会施加摩擦力。由于硬币只漂浮在空气中,因此没有施加阻力。要解决此问题并应用非常粗略的空气阻力近似值you should set the linearDamping
property of the body's definition:
bodyDef.linearDamping = 0.5f;
尝试使用不同的值,直到它看起来正确。