cocos2dx HelloWorld代码分析

刚接触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对象



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值