cocos2d-x第一次学习笔记 ,Windows下的结构图,及创建命令
一.准备工具:
- 需要电脑安装python2.7
- 电脑安装有visual studio 2013 or 2019
- 到cocos2d-x下载cocos2d-x windows版本, 这里我使用的是,V3.17.2版本。
-
解压压缩包,得到如下格式(Project,游戏资源动画是我自己创建的文件夹):
二.创建项目:
-
使用cmd命令切换到cocos2d-x目录下,然后运行setup.py,我们手动设置SDK,和NDK路径(这两个路径用来编译安卓的如果没有可暂时空着),以及cocos2d-x的环境命令。
-
接着用cmd命令切换到:解压的cocos路径/tools/cocos2d-console/bin目录下然后输入命令进行创建
-
cocos.py new 项目名字 -p 包名 -l 语言(cpp or js)
-
例如 cocos.py new learn01 -p com.lxl.learn01 -l cpp 这里创建的是使用c++语言的项目,回车,将会在当前目录生成一个helloworld的项目
-
进入目录有以下几个文件
-
第一个文件夹是公共源代码区,所有的核心代码也将写在这里面
-
第二个是cocos需要用到的一些工具,比如其他平台的构建工具等
-
最后一个文件夹是存放资源的路径
- 生成的工程有4个,android,mac,linux,win32,这里主要用win32,进去文件夹打开learn01.sln
-
三.项目结构
-
从自己观察其他几个项目文件的入口点可以得知,AppDelegate.cpp是cocos2d-x进入游戏主循环前的入口点
-
打开这个AppDelegate.h 可以看到声明了除构造和虚构的其他4个虚函数,
- 第一个初始化opengl上下文,应该是跟平台相关的一些属性
- 第二个是对游戏开始时做初始化操作,场景加载等
- 第三个是游戏处于后台运行时所调用
- 第四个是游戏从后台展现在前台是调用
-
查看第二个方法
可以看到设置分辨率时进行了相应的转换,在代码前面可以看到:
在不通平台时自动进行了合适的适配
接下来:
cocos使用了一个静态方法createScene创建了该实例,并将该场景让其进入游戏的主循环,
进入HelloworldScene.h的头文件声明,可以看到:
他是继承了Scene的这个类,并且有个静态的createScene方法,继续进去ctrl+鼠标左键
可以看到其定义是返回了一个自己的静态方法create,在HelloworldScene.h中下面有一个宏,点进去看看实现
这里发现是,创建了一个自己类型的对象,并且还调用了init方法,并返回了自身,由此可以知道,这个宏是创建对象的并且进行了两次初始化,一个是构造方法,一次是调用了init方法,并将其设置了自动回收(未完!)
最后运行一下程序,编译时间比较长: