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