我需要根据从游戏中心服务器收到的位置移动box2d机身。
收到位置后,我只需使用以下方法更新身体位置: -
Carbody->SetTransform(b2Vec2(serverposition.x,serverposition.y),0);
但它以不正常的方式移动身体(例如。身体在屏幕上显示出一些偏向)。同时我的精灵图像没有移动(附着身体)。
答案 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));
这种方法对我来说很好。