网站大量收购独家精品文档,联系QQ:2885784924

cocos2d里面如何使用物理引擎box2d.pdf

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
cocos2d里面如何使用物理引擎box2d

版权属于:子龙山人 首发于:泰然论坛 (译)在cocos2d 里面如何使用物理引擎box2d:弹球 整理:Taiyangmobile (泰然论坛管理组) 著作权声明:本文由 子龙山人 翻译,欢迎转载分享。请尊重作者劳动,转载时保留该声 明和作者博客链接,谢谢!首发于泰然论坛 免责申明(必读!):本博客提供的所有教程的翻译原稿均来自于互联网,仅供学习交流之用, 切勿进行商业传播。同时,转载时不要移除本申明。如产生任何纠纷,均与本博客所有人、发表 该翻译稿之人无任何关系。谢谢合作! 原文链接地址: /457/intro-to-box2d-with-cocos2d-tutorial-bouncin g-balls 程序截图: 这个教程的目的就是让你们熟悉在cocos2d 里面如何使用box2d,所采用的例子就是制作 一个简单的应用,里面有一个篮球,你可以通过旋转你的iPhone 来改变重力的方向,同时篮球 碰到屏幕边界可以反弹。 这个教程假设你已经学过前面的教程《如何使用cocos2d 来制作一个简单的iphone游戏》, 或者有同等相关经验也可以。 好了,让我们开始学习Box2d 物理引擎吧! 创建一个空的工程 打开Xcode,选择 cocos2d-0.99.1 Box2d Application template 来创建一个新的工程, 并且命名为Box2D.如果你直接编译并且运行的话,你将会看到一个很酷的例子,里面展示了 Box2d 的许多内容。然后,这个教程的目的,我们将从0 开始,创建一个篮球反弹的应用,这 样我们就可以更好地理解那个范例的具体原理。 因此,让我们把HelloWorld 模板里面的内容都删除掉,因为我们要从0 开始。把 HelloWorldScene.h 里面的内容替换成下面的代码: #import cocos2d.h 版权属于:子龙山人 首发于:泰然论坛 @interface HelloWorld : CCLayer { } + (id) scene; @end 同时修改HelloWorldScene.mm 文件:(为什么后缀是.mm,因为box2d 是c++写的,而 objective-c++的实现文件必须是.mm 后缀,否则你编译会出n 个错误!) #import HelloWorldScene.h @implementation HelloWorld + (id)scene { CCScene *scene = [CCScene node]; HelloWorld *layer = [HelloWorld node]; [scene addChild:layer]; return scene; } - (id)init { if ((self=[super init])) { } return self; } @end 最后一步验证一下,你的Classes 分组下面的所有文件(比如HelloWorldScene)是 以.mm 文件结尾的,如果是.m,那么请改成.mm,否则等下使用Box2d 的时候,编译器会报 出一大堆莫名其妙的错误! 如果你编译并运行,你应该看到一个黑色的屏幕。好了,现在让我们开始创建Box2d 场景 吧。 Box2D 世界相关理论 在我们开始之前,让我们先交待一下Box2D 具体是如何运作的。 你需要做的第一件事情就是,当使用cocos2d 来为box2d 创建一个world 对象的时候。 这个world 对象管理物理仿真中的所有对象。 版权属于:子龙山人 首发于:泰然论坛 一旦我们已经创建了这个world 对象,接下来需要往里面加入一些body 对象。body 对象 可以随意移动,可以是怪物或者飞镖什么的,只要是参与碰撞的游戏对象都要为之创建一个相应 的body 对象。当然,也可以创建一些静态的body 对象,用来表示游戏中的台阶或者墙壁等不 可以移动的物体。 为了创建一个body 对象,你需要做很多事情--首先,创建一个body 定义结构,然后是 body 对象,再指定一个shap,再是fixture 定义,然后再创建一个fixture 对象。下面会一个 一个解释刚刚这些东西。  你

文档评论(0)

yan698698 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档