刚刚开始学习cocos2dx3.3,做一下记录,方便以后回来看。
分析helloworld是怎么初始化director,如何创建场景和显示等。
参考资料:
http://www.2cto.com/kf/20150/370238.html
http://www.cnblogs.com/imhurley/p/3801703.html
1、我的理解,维护整个游戏循环的是:
"AppDelegate.h" 和 "AppDelegate.cpp" 文件 这两个文件是 Cocos2d-x 游戏的通用入口文件,类似于一般 windows 工程中主函数所在的文件。 大家先看一下整个helloworld的结构图看不懂没关系,后面我会解释,最后再回来看一下结构图,一目了然。 2、游戏的启动的时候,AppDelegate就像main函数一样,直到游戏结束,AppDelegate才会结束运行。 如图所示,我 AppDelegate流程分成三段来看: (1)AppDelegate首先初始化director、添加资源之类的东西 (2)然后createScene()创建一个场景类对象 (3) 之后就开始run(),运行这个场景类 3、上面的三个小步骤都是挺容易看懂的,不过我要重点分析的是第二个小步骤,这个scene初始化这一块,scene初始化里面是开发人员主观能动性发挥的地方。 应该大部分人都能看懂吧,不过我还是啰嗦一下:
auto scene = HelloWorld::createScene();//这句话使用了c++11的新特性,详情请看http://www.cnblogs.com/hujian/archive/2012/02/15/2352050.HTML
首先调用了createScene函数来生成一个Scene类的对象,后面再解释 createScene函数里面做了什么事!!!如果你们仔细的话,会发现auto layer=HelloWorld::create();这一个语句会自动调用init函数,因为create()初始化了了一个新的Helloworld对象,会自动调用init去初始化。 4、create () 我就不分析了,大家可以根据下面我介绍的方法研究一下。 经验分析: 1、遇到这种分析问题,遇到不懂的函数,善用xcode6的单步调试功能, 如果想要单步调试,还是按快捷键“continue ” (control+command+Y)比较方便
2、如果不知道这个函数干嘛用,就可以按住“command”,再左键点击想要看定义的函数
如下:
左键点击的时候,就会变色,然后就可以跳转到目标函数的定义;
继续看定义,如下
原来CREATE_FUNC(__TYPE__)是一段宏定义,相当于“static create()”方法的实现。
3、当时纠结了好久,不知道要研究cocos2dx 2.X 还是3.X,直到我把两种的helloworld 源码看了一遍之后,我发现无论 学哪一种都行,不过推荐3.X,因为3.X做了更多的封装,把开发者从大量的代码中解放出来,特别是UI设计方面,程序员不用再花过多时间去做界面
总结以上是内存溢出为你收集整理的cocos2dx 3.3 helloworld 入门 学习与详解全部内容,希望文章能够帮你解决cocos2dx 3.3 helloworld 入门 学习与详解所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)