李华明Himi原创,转载务必在明显处注明:
转载自
【黑米GameDev街区】原文链接:
http://www.himigame.com/iphone-cocos2d/474.html
上一节讲述了粒子的相关问题,当然啦,不示弱,今天继续将物理系统给大家进行简单的介绍和讲述;
首先先介绍,如何在cocos2d中加入box2d开发lib包,因为一般使用cocos2d引擎进行开发游戏时,大家创建项目都会选用cocos2d框架,而不是直接采用物理系统的cocos2d框架,但是后期忽然需要在项目中使用物理系统(这种情况很经常发生,至于为什么,童鞋们都懂得~),OK,首先创建一个普通的cocos2d项目;
OK,加入box2d->lib步骤如下:
1. 首先将box2d的lib包拷贝到刚创建的项目下,然后右键项目的libs文件夹进行导入项目中;(如果你没有box2d的lib包,那就新建一个cocos2d-box2d的项目就有了)
2.双击你的项目名默认打开配置信息窗口,点击Build Settings标签,然后在页面中找到”Search Paths“一栏,然后在“User Header Search Paths”中添加“xx/libs”;这里的XX是你的项目名称;紧接着在“User Header Search Paths”一项的上面设置“Always Serch Paths”的选项 为YES,默认为NO;这里务必要设置;
3.最后commadn+B (我用的xcode For lion)编译项目代码,如果提示编译成功,OK,可以使用啦;
下面我来给大家简单的介绍以下如何在cocos2d中使用Box2d物理系统,虽然关于Box2d的相关资料和教程很少,但是这里我也不会很详细的介绍和解释,因为我即将上市的Android游戏开发书籍中已经对Box2d进行了很详细的讲解和两个物理小游戏实战,所以这里就大概的介绍下一些重要的方法;
便于讲解,这里我直接使用Xcode直接创建一个cocos2d-Box2d的项目,然后简单的修改:
这里我只是对重要的方法进行的说明,主要修改的一点地方在备注1这里,我这里对每次玩家触摸屏幕的地方创建的刚体都进行施加了一个力,让刚体进行运动,那么这个运动的轨迹也会根据你设置的物理世界的重力方向发生改变,当前项目中,重力方向垂直下落,没有X轴的变化;
还要注意一点,由于box2d是c++代码,那么如果你使用box2d的话,首先把你的Delegate.m的类改成Delegate.mm,还有你使用box2d相关代码的实现类(.m)格式的类要改成(.mm)格式才可,这样编译器就会知道是混合代码,否则都当成object-c进行编译就会报错;
运行截图如下:
从图中可以看出,在icon图的周围包围着线段,这个就是Box2d提供的调试绘制,将本无形的刚体绘制出来了;
这里我不得不说一些童鞋,例如之前我写过Android上的一个自己随手的物理系统小球的例子,我在博文中写了要触屏才创建小球,但是很多童鞋问我项目运行起来没效果有问题,我就崩溃了。。。你们让我
源码本想上传,但是发现一点击上传资源就悲剧打不开网页,大家可以直接创建一个cocos2d-box2d的项目,然后将HelloWorldLayer.mm中代码换成我上面的代码即可~
分享到:
相关推荐
【iOS-Cocos2d游戏开发】Cocos2d-iPhone动作Action-扩展动作 http://blog.csdn.net/tt5267621/article/details/7626450
【iOS-Cocos2d游戏开发】Cocos2d-iPhone动作Action-瞬时动作 http://blog.csdn.net/tt5267621/article/details/7624781
【iOS-Cocos2d游戏开发】Cocos2d-iPhone动作Action-延时动作 http://blog.csdn.net/tt5267621/article/details/7625309
【iOS-Cocos2d游戏开发】Cocos2d-iPhone动作Action-组合动作 http://blog.csdn.net/tt5267621/article/details/7626137
【iOS-Cocos2d游戏开发之二十二 】CCSpeed实现CCAnimate动画进行时设置慢动作以及设置游戏加减速进行(塔防游戏必备)! http://blog.csdn.net/xiaominghimi/article/details/7009503
【iOS-Cocos2d游戏开发】Cocos2d-iPhone动作Action-组合动作 http://blog.csdn.net/tt5267621/article/details/7626094
瘸腿蛤蟆笔记42-cocos2d-x-3.2 Box2d物理引擎Motor Joint
【iOS-Cocos2d游戏开发】触屏事件处理机制 http://blog.csdn.net/tt5267621/article/details/7631729
最简单的helloworld实例上添加物理引擎cocos2d-x box2d 物理引擎
Cocos2d-x-3.x游戏开发之旅-钟迪龙著 全新pdf版和附书代码(代码为工程文件,可复制) 附带目录标签
这是cocos2d中物理引擎Cocos2d的实例,实例分为两个,有2.x和3.x
瘸腿蛤蟆笔记39-cocos2d-x-3.2 Box2d物理引擎自由落体代码
xtzf2 ios cocos2d box2d touch 带粒子效果的火球 基于原生的cocos2d box2d模板做的一个小例子 使用粒子系统 通过move或touch事件来控制火球的坠落
《Cocos2D-X游戏开发技术精解》详细介绍如何使用Cocos2D-X引擎开发自己的移动平台游戏。全书共15章,主要内容包括:Cocos2D-X引擎简介;如何建立跨平台的开发环境;引擎的核心模块——渲染框架;如何实现动态画面和...
瘸腿蛤蟆笔记38-cocos2d-x-3.2 Box2d物理引擎Ray-cast代码
资源名称:Cocos2d-x实战:JS卷——Cocos2d-JS开发内容简介:本书是介绍Cocos2d-x游戏编程和开发技术书籍,介绍了使用Cocos2d-JS中核心类、瓦片地图、物理引擎、音乐音效、数据持久化、网络通信、性能优化、多平台...
12-IOS游戏开发Cocos2d.pdf
《iOS5 cocos2d游戏开发实战(第2版)》免费P
IOS 开发源码:cocos2dx+box2d的库和演示实例.包含cocos2d-x的库和box2d的库,实现模拟物理碰撞、弹跳的源码
4、【cocos2d-x IOS游戏开发-捕鱼达人4】基本游戏框架 资源引用页: 5、【cocos2d-x IOS游戏开发-捕鱼达人5】C++中函数代理与信号插槽机制 资源引用页: 6、【cocos2d-x IOS游戏开发-捕鱼达人6】实现开始菜单 资源...