盒子2d椰子2d.计算SetLinearVelocity的方向



我正在创建一个在屏幕上移动的角色。

角色是box2d世界中的传感器运动体。运动学,因为,我想要有碰撞的实体,但没有重力。我试着使用精灵,但碰撞边界框有很多问题,因为物理预示着精灵会被动画化。

对于转换逻辑,我计划使用SetLinearVelocity(b2Vec2)。

body->SetLinearVelocity(0,0.5)将身体顶部移动,body->Set LinearVelocity。

但我很愚蠢——怎么用这种方法把身体移动到不同的地方。

换句话说,我需要创建模拟CCMoveTo。问题–如何计算SetLinearVelocity的真实b2Vec2。

此外,如果您知道通过屏幕转换主体的更好方法,请分享您的想法

O。在cocos2d-iphone.org论坛上,我得到了答案。谢谢,伙计们。

CGPoint direction = ccp( targetPos.x - startPos.x, targetPos.y - startPos.y );
direction = ccpNormalize(direction);
float speed = 0.25f;
b2Vec2 vel = b2Vec2( speed*direction.x/kPointsToMeterRatio, speed*direction.y/kPointsToMeterRatio );
body->SetLinearVelocity(vel);

最新更新