首页 > IOS频道 > 【Cocos2D研究院之游戏开发】 > Cocos2D研究院之打开全新ViewController与返回(八)
2012
11-19

Cocos2D研究院之打开全新ViewController与返回(八)

         之前cocos2d的文章都是由魏凯同学维护,从今天开始我也会抽时间写点cocos2d的文章。最近在研究如何将IOS游戏与软件结合起来。通常游戏开发中仅仅只需要一个ViewController即可,所有的图片动画渲染、场景的切换都是在这一个ViewControlelr中完成。但是软件开发中每一个界面都会是一个ViewController,为什么游戏和软件这点上区别很大呢?原因很简单,游戏属于自定义View 而软件需要借助系统提供的高级控件,这些高级控件也就是系统封装的View。比如Label、Button、ImageView 等等。。

          大家可以仔细看一下cocos2d的源码,先找到入口函数我和大家分析一下。

 在方法中找到下面 ,CCDirector继承于ViewController,cocos2d的OpenGlView也是添加在这个ViewController之上。

        接着往下走,我们可以看到这段代码,意思就是将游戏的viewcontroller加在一个带导航栏的viewController之上,然后隐藏这个导航栏。 最后把这个这个viewController加在windows中。

        下面我们分析一下,IOS程序在切换ViewController的时候必需要用UINavigationController  ,cocos2d的UINavitionController 就是  [CCDirector sharedDirector].navigationController

         然后我们做一个简单的例子,大家就明白了如何来使用。创建两个游戏场景,如下图所示,这是第一个游戏场景,第二个游戏场景我就不在截图。左下角是一个cocos2d的按钮,点击该按钮后将从cocos2d切换至全新的viewcontroller当中。

 

Cocos2D研究院之打开全新ViewController与返回(八) - 雨松MOMO程序研究院 - 1

 

如下图所示,在cocos2d中打开的新的viewController,此时cocos2d中的动画循环事件都会自动暂停,直到从新返回cocos2d的游戏当中即可从新打开。

Cocos2D研究院之打开全新ViewController与返回(八) - 雨松MOMO程序研究院 - 2

 

代码比较简单我就不做过多的解释了,仔细看看就应该明白啦。 

 

切换场景的特效方式都可以以这样的方法来添加,快快把游戏和软件结合起来吧。

代码下载: http://vdisk.weibo.com/s/ioMx4

雨松MOMO提醒您:亲,如果您觉得本文不错,快快将这篇文章分享出去吧 。另外请点击网站顶部彩色广告或者捐赠支持本站发展,谢谢!

--

最后编辑:
作者:雨松MOMO
专注移动互联网,Unity3D游戏开发
捐 赠如果您愿意花10块钱请我喝一杯咖啡的话,请用手机扫描二维码即可通过支付宝直接向我捐款哦。

  1. cannot specify -o when generating multiple output files 这个问题怎么解决,我是把unity岛成Xcode
    的文件放到我的Xcode project里面了,调整过arc兼容,配置,之后爆出的错误。。。要怎么解决