Box2d物体在cocos2d-x中的移动

4

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

在接收到位置后,我只需使用以下方式更新物体位置:

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

但是它以不合适的方式移动身体(例如,身体在屏幕上显示为其他位置)。同时,我的精灵图像没有跟随身体移动(与身体相连)。
1个回答

1
我解决位置问题的方法是使用普通的精灵图像,并在更新时根据box2d体的位置改变位置。
例如:您的汽车体基于服务器位置移动。它将以不可见的方式移动。您的b2body没有用户数据(图像)。
carMainBody->SetTransform(b2Vec2(serverposition,carMainBody->GetPosition().y), 0.0f);

这里是您的普通精灵图片。只需像这样附加您的精灵图片。

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

这个方法对我来说很有效。

(保留HTML标签)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接