我需要根据从游戏中心服务器接收到的位置移动 box2d 主体。
接收位置后,我只需使用以下方法更新 body 位置:-
Carbody->SetTransform(b2Vec2(serverposition.x,serverposition.y),0);
但它以不适当的方式移动 body (例如。 body 在屏幕上显示一些错误)。同时我的 Sprite 图像不动(附有 body )。
最佳答案
我为解决定位问题所做的工作是我拍摄了一个普通的 Sprite 图像,并使用 box2d body 位置更改更新位置。
例如:-
您的车身运动基于服务器位置。它会在无形中移动。
你的 b2body 没有用户数据(图片)
carMainBody->SetTransform(b2Vec2(serverposition,carMainBody->GetPosition().y), 0.0f);
这里是你的普通 Sprite 图像。只需像这样附加您的 Sprite 图像
car->setPosition(ccp(carMainBody->GetPosition().x*PTM_RATIO,carMainBody->GetPosition().y*PTM_RATIO));
这种方法对我来说效果很好。
关于ios - cocos2d-x中Box2d Body的运动,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26309380/