cocos2dx HelloWorld代码分析

cocos2dx HelloWorld代码分析,第1张

概述刚接触cocos2dx,看了一些教程之后,先稍微总结一下,有点粗浅,多多指教 1.用python脚步创建一个新项目,名为Hello: 2.可见,在projects目录下多了一个Hello的文件夹: 3.打开Hello,再打开里面的proj.win32,就可以看到有一个Hello.sln,这个是VS的工程文件,双击打开 4.如图: 5.先运行一下项目看看,按Ctrl+F5,编译成功之后会显示下图: 刚接触cocos2dx,看了一些教程之后,先稍微总结一下,有点粗浅,多多指教 1.用python脚步创建一个新项目,名为Hello:


2.可见,在projects目录下多了一个Hello的文件夹:


3.打开Hello,再打开里面的proj.win32,就可以看到有一个Hello.sln,这个是VS的工程文件,双击打开
4.如图:


5.先运行一下项目看看,按Ctrl+F5,编译成功之后会显示下图:


6.首先,当我们新建一个Cocos2d-x项目时,就会默认创建一个HelloWorldScene场景类,可以理解为上图显示在窗口的画面。那么这个画面是如何显示到窗口的呢?
我们来打开Hello项目里的AppDelegate.cpp文件,我们只看applicationDIDFinishLaunching函数:


(1)pDirector->setdisplayStats(true);设置是否显示游戏的帧数等调试信息

(2)pDirector->setAnimationInterval(1.0/60);设置游戏的帧率,在这里是60帧每秒

(3)CCScene* pScene = HelloWorld::scene();创建一个场景,也就是前面提到的场景类

(4)pDirector->runWithScene(pScene);最重要的地方,只有执行了这一步,才能让场景类显示出来


7.然后我们再来看看HelloWorldScene.h的代码


menuCloseCallback函数是一个回调函数 scene函数是不可缺的,等会会在HelloWorldScene.cpp中定义,之前在

AppDelegate.cpp中创建一个场景时用到:

再来看看CREATE_FUNC(HelloWorld),这是一个宏函数,它的具体实现代码(替换参数之后)如下:

8.在HelloWorldScene,cpp中scene()的实现:

(1)CCScene* scene=CCScene::create(); 创建一个场景类。大家注意到了吗?这个场景类并不是HelloWorld本身。

(2)HelloWorld* layer = HelloWorld::create(); 创建一个HelloWorld对象,create函数正是用宏CREATE_FUNC(HelloWorld)定义的。如果仔细看HelloWorldScene.h的代码可以发现,HelloWorld继承了cclayer类,要具体了解cclayer和CCScene的关系,可以看下面的基础概念介绍:


可见,一个场景类里面有多个layer,上面的HelloWorld对象就是一个Layer,CCScene就是一个Scene,

(3)scene->addChild(layer); 将layer对象添加到scene对象

(4)return scene; 返回scene对象

总结

以上是内存溢出为你收集整理的cocos2dx HelloWorld代码分析全部内容,希望文章能够帮你解决cocos2dx HelloWorld代码分析所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/web/1036179.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-24
下一篇2022-05-24

发表评论

登录后才能评论

评论列表(0条)

    保存