一:创建工程
- 创建一个cocos工程的方法,win + R cmd 调出命令窗口
- 新建工程格式:
- cocos new 工程名 -p 包名(必须为3级命名)-l 编程语言 -d 工程地址
- 示例:cocos new liplan -p joy.sm.ctgu -l cpp -d D:/projects
- (在命令窗口输入相应命令查询cocos帮助文档。例如如果不知道cocos怎么用的话,可以直接敲cocos回车,就会出现帮助文档;如果不知道cocos new怎么用,可以敲命令cocos new回车,看帮助。cocos new --help 命令可查看-p -l 等解释。移植到Android平台是需要包名的,因为Android平台是通过包名来区分程序ID的,所以建立项目的时候必须要写包名。).
二:编译时出现的错误
- 如果编译过程中出现这样的错误:
- 解决的方法是:
- 右键 项目->属性
- 配置属性->C/C+±>命令行
- 在右侧的 其他选项 中输入 -Zm263
三:文件工程结构
-
生成新工程的过程实际上是把模板等拷贝过去,但是不能硬性去拷贝。
-
红框中的几个文件夹都与平台有关,分别是android、ios(mac)、linux、win32平台的工程文件,移植的时候要用的。
-
Classes:开发时重点关注的代码;与工程文件里的内容相对应。
-
Resources:资源目录。
-
cocos2d目录里是引擎。
-
每次做完一点工程时只需要拷贝class里的源代码和resource文件夹即可,新生成一个工程时是要覆盖新工程的class和resource文件夹,再把class源代码导入工程中的src文件夹下,src右键->添加现有项目->将class文件夹中的.h.cpp文件加进去即可。
-
注意是加入到src文件夹,而不是win32文件夹,工程中的src文件夹和文件中的class文件夹相对应。
四:Cocos2d-x核心概念
1.导演
- 导演类Director用于管理场景对象。导演是单例设计模式,在整个程序运行过程中,只有个实例,也就是说导演只能有一个。单例也可以节省内存开销。
- 获得导演类Director实例语句如下: auto director = Director::getInstance();
- 导演对象职责如下:
1.访问和改变场景。
2.访问Cocos2d-x的配置信息。通过导演读取用户信息。
3.暂停、继续和停止游戏。
4.转换坐标。
2.场景
-
场景类Scene是构成游戏的界面,类似于电影中的场景。 场景直接用场景提供的类,不需要自定义场景类。
-
场景大致可以分为以下几类:
展示类场景:播放视频或简单的在图像上输出文字,来实现游戏的开场介绍、胜利和失败提示、帮助介绍。选项类场景:主菜单、设置游戏参数等。
3.层
- 层是我们写游戏的重点,层的管理类似于Photoshop中的图层, 它也是一层一层叠在一起。开发时更多的是自定义一些层,在层里进行开发。
- 场景和层的关系可以是一对一,也可以是一对多,但是更多的是一对一,理论上来说,层越多,需要绘制的深度越深,约耗费CPU,层中的精灵等的绘制有互相遮挡的问题。
4.精灵
- 精灵类Sprite是游戏中非常重要的概念,任何一个物体都可以是精灵,它包括了敌人、控制对象、静态物体和背景等。
通常情况它会进行运动,运动方式包括了:移动、旋转、放 大、缩小和动画等。
5.菜单
- 菜单在游戏中是非常重要的概念,它提供操作的集合,在 Cocos2d-x中菜单类是Menu。Menu中包含菜单项MenuItem,
- 它有三个子类: MenuItemLabel、MenuItemSprite和MenuItemToggle。
- 菜单和精灵的区别:
- 菜单是多种形式,也可能看起来就是一个图片,一个精灵想实现点击事情和手的触摸需要写一些事件处理代码;而图片做成菜单则不用关注事件处理细节问题。