我需要根据从游戏中心服务器接收到的位置移动 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 - Box2d Body在cocos2d-x中的运动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26309380/