草庐IT

ios - Box2d Body在cocos2d-x中的运动

coder 2023-09-29 原文

我需要根据从游戏中心服务器接收到的位置移动 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/

有关ios - Box2d Body在cocos2d-x中的运动的更多相关文章

  1. javascript - 如何使用 HTML5 Canvas 而不是 Debug Draw 来绘制我的 Box2D 世界? - 2

    我非常了解HTML5Canvas,我了解使用循环等的基础知识和动画。我正在使用的演示:(单击以制作形状)http://henry.brown.name/experiments/box2d/example-canvas.html我不太熟悉的是Box2D。我正在使用Box2DWeb端口,听说它比Box2D-js更新,我不确定哪个最好。我知道如何初始化“世界”并且我可以在世界中放置对象。然后,我使用Step为世界设置动画-但是到目前为止,为了在屏幕上显示它,我只能使用debugdraw来让它工作,因为它基本上会为你做所有事情。我不想使用调试绘图,而是使用Canvas来绘制,例如一辆汽车,而不

  2. javascript - 碰撞后如何在 Box2dWeb 中移除物体 - 2

    在Update函数内部,如果2个物体发生碰撞,我想将它们移除(或将它们标记为需要移除,并在时间步长结束时移除它们)。我将如何做到这一点?在更新函数中我尝试varbodyA=this.m_fixtureA.m_body;...bodyA.m_world.DestroyBody(bodyA);但是,它们不会被删除。似乎当我试图删除它们时,this.IsLocked()被设置为true。 最佳答案 如果world.IsLocked()函数返回true,世界将不会移除物体。world.IsLocked()将在世界处于一步时返回true。在步

  3. 木有错!又是一款足球射门游戏!Box2D物理引擎游戏《王牌射手》他来了! - 2

    《王牌射手》起因游戏地址游戏介绍游戏开发后续(如果有后续得话~)最后其他游戏起因之前作者借着CocosCreator得3D性能和官方活动,开发了一款点球大战得3D射门游戏。既然3D都来了,那么2D得射门游戏《王牌射手》也是如期而至了!(掌声鼓励)游戏地址体验地址:王牌射手体验源码地址:王牌射手源码游戏介绍以作者本身得能力,游戏得策划当然是需要抄袭,是借鉴呀,借鉴了微信小游戏**《天天足球》**得玩法。简单得介绍下玩法:就是足球会于场中得球员发生碰撞,如果球员碰到了我方球员,球员会90°以内左右旋转,玩家点击屏幕发射足球,在固定得发球数量内,达到进球门槛即判定为过关呀。那么有的朋友就会问了,你这

  4. xml - 在 cocos2d-x 中使用 xml - 2

    我有一个SVG文件,它位于Assets文件夹中。我怎样才能获得访问权限并对其进行解析,以便我可以检索有关路径的数据,并在将来写入新路径?有用于处理xml的内部工具吗? 最佳答案 查看cocos2d-2.0-rc0a-x-2.中的测试项目0/测试运行Android.mk并使用eclipse启动apk(在linux中)。有一个管理xml的例子。测试是:UserDefaultTest。不需要知道任何事。如果XML不存在,则值返回-1。如果需要更多帮助,只需发布​​具体问题即可。 关于xml-在

  5. c++ - Windows下如何为Code::Blocks/MinGW32编译Box2D? - 2

    我在互联网上发现了类似的问题,但没有一个对我有帮助。Code::Blocks工作区和项目文件包括DO生成.a文件,我已经将它们移动到Codeblocks/MinGW/lib,我已经将Box2D文件夹移动到Codeblocks/MinGW/include和HelloWorld.cpp示例仍然给我theseerrors. 最佳答案 看起来您用来构建.a的项目文件缺少一些文件。错误消息中提到的文件是在v2.1.2之后从Box2D中删除的文件,所以我猜您使用的是2.1.2源代码(或附近)以及来自其他来源的项目文件?无论如何,自己设置这些都非

  6. c++ - cocos2d-x beta3 LayerColor 不改变背景色 - 2

    不能改变背景的颜色我有这个简单的类:这是C++文件:#include"HelloWorldScene.h"USING_NS_CC;HelloWorld::HelloWorld(){;}Scene*HelloWorld::createScene(){//'scene'isanautoreleaseobjectautoscene=Scene::create();//'layer'isanautoreleaseobjectautolayer=HelloWorld::create();//addlayerasachildtoscenescene->addChild(layer);//retur

  7. windows - Cocos2d-x键盘实现 - 2

    我正在使用cocos2d-x为windows、mac和linux制作游戏我想在我的游戏中使用键盘,但没有官方的键盘实现cocos2d-x3.0alpha。我阅读了很多关于键盘实现的论坛帖子,并且看到了一些自定义的cocos2d-x分支,但我已经修改了我的cocos2d-x,所以我需要将代码放在CCDirector或其他类中。有人可以给我关于如何让它工作的代码吗?(不是我想要的代码可以在上述所有平台上运行的项目)谢谢! 最佳答案 所以我让它工作了我还制作了一个教程,您可以在这里查看:http://www.cocos2d-x.org/f

  8. c# - cocos2d-xna : sprite is not drawn if using instance of a class inherited from sprite - 2

    我有一个基于Cocos2DXNA和MonoGame的游戏项目。我想在CCSprite类中添加一些自定义逻辑,所以我创建了一个继承自CCSprite的类。我添加了一个虚拟自动属性并尝试使用此类,但出于某种原因,作为我的自定义Sprite类实例创建的Sprite未显示在图层上,而作为CCSprite类实例的Sprite完全没问题。代码如下所示:publicclassSprite:CCSprite{publicstringSomeProp{get;set;}}...line1:varmySprite1=newSprite("texture.png");line2:varmySprite1=n

  9. c# - Box2D body 速度上限? - 2

    我有一个质量为10的物体,程序的每个循环我都使用简单方法对其施加100的力;Vector2force=newVector2(0,1)*100;bod.ApplyForce(force,bod.GetWorldCenter());它工作得很好,加速等等,但一旦速度达到10(我假设是100/10),它就不会再快了。我无论如何都不是物理学家,但我确实记得body应该不断加速,就像在重力作用下一样。这个速度限制是Box2D做事方式的结果,还是我真的搞砸了?另外,我该怎么做才能修复它。注意:如果我使用ApplyLinearImpulse而不是ApplyForce,我会得到相同的有限速度更新:我很

  10. Cocos2dx-js 资源.jsc和.pkm反编译 - 2

    .jsc解密1.找到apk里面的libcocos2djs.so.用编辑器utf-b模式打开2.搜索CocosGame紧接着的 220404db-d3df-4b就是密码3.使用工具decrypt.exe即可解密下载地址:https://download.csdn.net/download/liutietuo/86511410cocoscreatorscriptdecryptversion1.0D:\Users\Administrator\Desktop\main_bundle\1ss442.jscdecryptsuccessPressEnterExit python解密方法偶尔会出现编译后的js

随机推荐