cocos2d-x的大致开发流程是,首先使用win32版进行代码编写并完成游戏,然后将代码迁移到对应的开发环境上进行交叉编译完成游戏打包,如iphone上是mac+xcode,android是eclipse+ADK+NDK。实现一处编码,到处编译。
基本概念
1. 场景(CCScene)
展示类场景:播放视频戒简单的在图像上输出文字,来实现游戏的开场介绍、胜利、失败提示、帮助简介。
选项类场景:主菜单、设置游戏参数等。
游戏场景:这是游戏的主要内容,除了这个场景外的其他类场景基本上都是通用架构实现的。
2. 层(CCLayer)
基本上是透明或者半透明的
层的叠加是有顺序的(事件响应机制的顺序)
提供一些公用局:处理菜单用的菜单局(Menu),处理颜色显示的颜色局(ColorLayer)等。
每一层又可以包含很多各式各样的内容要素:文本(Label)、链接(HTMLLabel)、精灵(Sprite) 、地图等等。其中,精灵是重点。
3. 精灵(CCSprite)
精灵是整个游戏开发处理的主要对象,地方的飞机、坦克是系统 AI 控制的精灵,代表是整个游戏开发处理的主要对象,地方的飞机、坦克是系统 AI 控制的精灵,代表玩家控制的我方飞机也是精灵。甚至随机飞过的一片于、一只鸟都是精灵。
精灵是整个游戏开发处理的主要对象,地方的飞机、坦克是系统 AI 控制的精灵,代表是整个游戏开发处理的主要对象,地方的飞机、坦克是系统 AI 控制的精灵,代表玩家控制的我方飞机也是精灵。甚至随机飞过的一片于、一只鸟都是精灵。
从技术上讲,精灵就是一个可以不断变化的图片。返些变化包括:
- 位置移动
- 旋转(以自身几何中心或以某个屏幕坐标为轴)
- 放大缩小
- 运动(按一定时间间隔连续显示一系列图像,形成运动效果)
所谓游戏,就是玩家操作一个或多个人工控制的精灵不一个或者若干个系统控制的敌方
精灵进行互动:紧身肉搏、远程射击、贴近对话等等。
4. 导演(CCDirector)
按照面向对象的设计原则和反向依赖原则:精灵不应该依赖层、层不应该依赖场景、场景不应该
依赖整个流程。导演对象是整个流程的代表,他负责游戏全过程的场景切换。
依赖整个流程。导演对象是整个流程的代表,他负责游戏全过程的场景切换。
导演通常只有一个,因此这个对象是单例。(单例模式)
5. 动作(CCAction)
主要是配合精灵使用,将精灵绑定响应的动作,组成要实现的变化效果。
6. 镜头(CCCamera)
每一个结点(CCNode)都需要使用CCCamera。当结点发生缩放、旋转和位置变化的时候,都需要覆盖CCCamera,让这个结点通过CCCamera重新渲染。
7. 锚点