您的位置:首页 > 其它

iphone游戏引擎介绍

2013-03-11 16:10 337 查看
http://www.j2megame.com/html/xwzx/ty/2258.html


如何使用Cocos2D制作一款简单的iphone游戏

http://www.raywenderlich.com/zh-hans/18163/%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8cocos2d%E5%88%B6%E4%BD%9C%E4%B8%80%E6%AC%BE%E7%AE%80%E5%8D%95%E7%9A%84iphone%E6%B8%B8%E6%88%8F-1


一个普通iphone应用软件,引用一个cocos2d的项目?

http://www.cocoachina.com/ask/questions/show/4619/
http://stackoverflow.com/questions/3283981/iphone-can-cocos2d-create-non-games
具体方法:

1。新建一个Cocos2d程序,然后添加一个UIViewController(取名为:MainViewController),

2。在代理文件里声明一个实例变量:MainViewController *mainViewController;

然后在 - (void) applicationDidFinishLaunching:(UIApplication*)application方法里 加载该视图控制器,并在openGLView上添加该视图的View mainViewController = [[MainViewController alloc]
initWithNibName:@\"MainViewController\" bundle:nil]; [viewController.view addSubview:mainViewController.view];

3。记得在视图控制器的头文件里声明一个代理对象: HelloWorldLayer *delegate; //HelloWorldLayer就是Cocos2d层的某个类

4。然后在HelloWorldLayer类的初始化方法init方法里对代理对象赋值: ((Walk_MateAppDelegate *)[[UIApplication sharedApplication] delegate]).mainViewController.delegate = self; 注:Walk_MateAppDelegate为我的程序代理类的类名。

5。最终你在你的按钮绑定方法里,使用代理对象 去调用 Cocos2d层(HelloWorldLayer)中方法了。

兄弟看懂了吗,还有疑问可以给出邮箱,我写个示例程序给你!!!

祝你一路顺风! 提示一下:反过来:先建立应用程序,再添加Cocos2d也是行的,具体做法一样(如:导入Cocos2d类库,修改代理类的- (void) applicationDidFinishLaunching:(UIApplication*)application方法,具体就是你需要选择 显示视图的类是UIView还是OpenGLView,其实OpenGLView是从UIView继承过来的)。

说到游戏,说难也难,说简单也简单,想必大家经过了c++这门课程的大项目之后应该有所了解。难就难在需要花心思去设计,对媒体设计的依赖程度极大,所在这里给大家的忠告是 一旦决定了做游戏,就赶紧去找一个媒体设计高手,如果找到这样一个人,你的成功就完成了一半;游戏简单就简单在,只要设计好了(游戏策略和媒体),不像应用程序那样,通常有很多比较恶心的核心技术难关要去突破,你唯一要做的就是在team里分配好职责,并且花大量的时间去完成,编码-测试-编码-测试...如此往复,最终一个优秀的游戏就诞生。

下面我介绍几个比较常用的iPhone游戏引擎,不是每一个我自己都用过,所以可能介绍的时候会说错话,但是这些都是目前比较可取的引擎。

#2D:

Cocos2d(http://code.google.com/p/cocos2d-iphone/),作为首选的引擎,Cocos2D基于opengles
1.1并且采用OC编写的,开放源代码,而且文档很齐全,所以对于开发者是一个非常友好的引擎库。而且有粒子系统和物理引擎系统(物理引擎系统效率还可以)。如果是做2d游戏的话,这个很好用,我自己曾近用cocos2d做过一个游戏,唯一的遗憾就是感觉它的构架设计得不够handy,但是由于开源,所以当你自己觉得原库不够用得时候,你可以随心所欲地改写,直达符合自己地需求!
opengles,即直接用opengles来编写自己的游戏。这个可能对很多同学来讲简直是不可思议,但是其实自己用opengles写可以带来很多灵活性,这个对于游戏来讲很重要,而且目前已经有很多帮助文档,实在不行可以直接借鉴Cocos2d的很多的源代码。但是可能唯一的风险就是你需要投入大量的时间来自己动手写,如果你没有这么大的时间和勇气还是采用游戏引擎。自己如果直接使用opengles来写,相比游戏引擎来讲,会有很大的收获,对于某些不满足的同学可以尝试。

下面是来自cocoachina的opengles游戏开发教程:http://www.cocoachina.com/gamedev/program/index.html 如果学习过程中遇到了问题,大家可以互相探讨!

3. Torque(http://www.garagegames.com/products/tge/iphone),这是一个跨平台的游戏引擎,移植到iPhone以后可以用来制作2D和3D游戏,最大的优势是拥有自家的product
tool,可以很方便地制作游戏,也即使说基本上可以不写代码就可以做出游戏,只需要写一些脚本就可以了。个人不推荐...

#3D(总的来说,iPhone的3D性能还远不能和专业的游戏机相比,所以做出来的效果肯定没有预期的好。而且开发3D游戏的成本是很高的,如果之前没有开发3D游戏的经验,一下子要做3D游戏是比较没底的。并且目前的iPhone 3D游戏引擎只能做出一些比较简单的游戏,画面也远不够优秀,想做3D游戏的同学一定要做好心里准备!)

Unity 3D(http://unity3d.com/) Unity目前是一个比较牛B的iphone 3d游戏制作工具套件,之前是制作一般电脑和web上的3d游戏的工具,但是iPhone出世以后,立马推出了iPhone的版本。我有试用过,相比其它引擎来讲,还是比较可以的,但是也是一个不需要写代码的游戏制作工具,只需要通过脚本完成,另外一个要命的问题是,这个东西不是免费的,而且价格不菲!但是据说学院图形图像实验室巨资引进了一套,不知道有想法的同学能不能够说服贾老师也给我们实验室使用。。。
SIO2(http://www.sio2interactive.com/)一个免费的开源的3d游戏引擎,目前已经有不少的游戏使用这个引擎了,它必须使用Blender(http://www.blender.org/)来制作模型和动画。但是还是仅限于制作比较简单的3d游戏。
Oolongengine(http://oolongengine.com/)Google出来的,为使用过,但是ms评价不错。有兴趣的同学可以关心一下。

PS这里有一个关于游戏引擎比较的文章:http://blog.csdn.net/wave_1102/archive/2009/06/10/4259082.aspx

来自:http://vagase.blogbus.com/logs/48659707.html

近日在学习iPhone游戏开发,对于2D和3D游戏引擎的使用大费了一番周折。这方面的内容国内网站还很少,只能通过google来查找国外的一些网站资料。还好,总算找到了适合自己和团队学习的引擎。

先对可选项列举如下:

游戏引擎名称支持情况价格备注
cocos2d2D开源免费支持地图,有对应的地图编辑器软件。
SIO23D开源免费官方网站SDK中有详细的示例。3D动画编辑器可以使用开源的Blender建模工具。
Oolong3D开源免费对PowerVR graphics支持较好,不过文档不如SIO2齐全。
Unity3D2D、3D均支持单独的Unity: $199 + iPhone Basic: $399 = $600针对iPhone游戏开发,除了Unity工具,还需要下载Unity iPhone工具。都需要收费。App Store中畅销的游戏中大部分是使用Unity3D开发的。
iTorque 2D、3D均支持$150 + $500 license for first game, $100 each additional.

目前3D支持还处于Demo阶段。收费也较高,不推荐。
备注:本内容由wave_1102整理,日期:2009.6.10。
经过以上比对,我首选了开源的工具。2D的游戏引擎使用cocos2d,3D的游戏引擎使用SIO2。

Unity3D试用了Mac版本的,也看了不少视频,学会了基本的使用,不过目前Mac版本没有破解,只有30天的试用期限。另外,使用Unity iPhone的话,Unity必须是注册版才行,所以暂时无法使用Unity iPhone。

选择cocos2d和SIO2这两款主要是为了前期学习简单的游戏开发使用。后期如果有机会商用游戏,可以考虑使用Unity3D。

来自:http://blog.csdn.net/wave_1102/article/details/4259082
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: