- 1、本文档共4页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
36瘸腿蛤蟆笔记36-cocos2d-x-32Box2d物理引擎Ray-cast使用
瘸腿蛤蟆笔记36-cocos2d-x-3.2 Box2d物理引擎Ray-cast使用瘸腿蛤蟆原创笔记,欢迎转载,转载请标明出处:上篇回顾本篇名言:人类心灵深处,有许多沉睡的力量;唤醒这些人们从未梦想过的力量,巧妙运用,便能彻底改变一生。[澳瑞森·梅伦]上几篇中,蛤蟆学习了Box2d物理引擎中如何将我们创建的物理体给描绘在程序里面。让我们能够看到一个非常直观的物体,便于后续进一步学习和理解。具体步骤我们还是使用helloworld工程。首先将\cocos2d-x-3.2\tests\cpp-tests\Classes\Box2DTestBed目录中的6个文件GLES-Render.c, GLES-Render.h,RayCast.h, Test.cpp,Test.h,TestEntries.cpp复制到我们自己的所在工厂目录中的classes文件夹中。然后将这6个文件添加到我们自己的工程项目中。然后我们自己新建一个类,Box2D类。这个是基于Layer类的用于承载物理世界。然后在HelloWorld.Scene.h头文件中,加入如下#includeGLES-Render.h#includeTest.h#includeRayCast.h#includeBox2D.h包含刚才的头文件3、在boolHelloWorld::init()函数中加入如下代码,即可Box2D* view = Box2D::viewWithEntryID();addChild(view, 0, 2);view-setScale(15);view-setAnchorPoint( Vec2(0,0) );view-setPosition( Vec2(origin.x+visibleSize.width/2, origin.y+visibleSize.height/3) );编辑Test.h头文件中,找到类定义中的protected:增加friendclassBox2D;编辑TestEntries.cpp只留下如下,即可。#includecstringusingnamespace std;#includeTest.h#includeRayCast.hTestEntryg_testEntries[] ={{Ray-Cast, RayCast::Create},};intg_totalEntries = sizeof(g_testEntries) / sizeof(g_testEntries[0]);编辑Box2D.h文件如下:#pragmaonce#includecocos2d.h#includeGLES-Render.h#includeTest.h#includeRayCast.hUSING_NS_CC;classTest;classBox2D :publicLayer{public:staticBox2D* viewWithEntryID();boolBox2D::initWithEntryID();Box2D(void);~Box2D(void);RayCast* raycast;Test* m_test;Settingssettings;TestEntry* m_entry;GLESDebugDraw *m_debugDraw; //这里新建示例b2World* world;virtualvoid draw(Renderer *renderer, constMat4 transform, uint32_t flags) override;protected:CustomCommand _customCmd;voidBox2D::onDraw(constMat4 transform, uint32_t flags);};编辑Box2D.cpp文件如下:#includeBox2D.hBox2D::Box2D(void){}Box2D::~Box2D(void){}Box2D* Box2D::viewWithEntryID(){Box2D* pView = newBox2D();pView-initWithEntryID();pView-autorelease();returnpView;}boolBox2D::initWithEntryID(){m_entry = g_testEntries;m_test = m_entry-createFcn();returntrue;}voidBox2D::draw(Renderer *renderer, constMat4 transform, uint32_tflags){Layer::draw(renderer, transform, flags);_customCmd.init(_globalZOrder);
您可能关注的文档
- 什么是标志.doc
- 从女性主义理论分析《逃离》中女性人格的建构.doc
- 付出才有回报主题班会.docx
- 企业利润操纵成因对策.doc
- 企业应帐账款管理问题的探讨.doc
- 企业IPO的财务审核核心要点.docx
- 2011上半年大学英语第二次作业.doc
- 2011地貌第四纪复习题.doc
- 企业管理中人本企业的应用与研究.docx
- 中职电子商务专业将“微商创业”纳入兴趣小组教学活动的调查研究.docx
- 初中英语词汇记忆中的错误分析与改进策略教学研究课题报告.docx
- 小学数学应用题解决虚拟现实教学资源在国家智慧教育云平台的应用教学研究课题报告.docx
- 《在线教育平台用户留存与在线教育生态圈构建研究》教学研究课题报告.docx
- 基于大数据的初中学生综合素质数字化评价研究教学研究课题报告.docx
- 1 《基于模糊综合评价法的供应链金融信用风险评估模型构建与应用》教学研究课题报告.docx
- 《生态农业模式对农业生态系统服务功能价值的影响及其评估方法创新》教学研究课题报告.docx
- 区域智慧校园智能学习环境建设中的教育资源整合与共享研究教学研究课题报告.docx
- 《移动应用手势识别交互设计在智能交通领域的应用与挑战》教学研究课题报告.docx
- 参观新教育心得体会.pptx
- 高中历史教学中跨媒体资源整合与历史思维培养策略教学研究课题报告.docx
文档评论(0)