Box2d体在cocos2d-x中的运动

时间:2014-10-10 23:19:39

标签: ios cocos2d-x box2d box2d-iphone

我需要根据从游戏中心服务器收到的位置移动box2d机身。

收到位置后,我只需使用以下方法更新身体位置: -

   Carbody->SetTransform(b2Vec2(serverposition.x,serverposition.y),0);

但它以不正常的方式移动身体(例如。身体在屏幕上显示出一些偏向)。同时我的精灵图像没有移动(附着身体)。

1 个答案:

答案 0 :(得分:1)

我解决定位问题的方法是采用普通的精灵图像,然后用更新的box2d体位更改位置。

例如: -

基于服务器位置的车身运动。它将无形地移动。      你的b2body没有userdata(图片)

carMainBody->SetTransform(b2Vec2(serverposition,carMainBody->GetPosition().y), 0.0f);

这里是你的普通精灵图片。只需按照你的精灵图像

 car->setPosition(ccp(carMainBody->GetPosition().x*PTM_RATIO,carMainBody->GetPosition().y*PTM_RATIO));

这种方法对我来说很好。