随着android平台的推广和android手机的大量推出,有人预言android将是一个嵌入式的统一平台。果真如此吗?Apple,Microsoft, nokia不会坐视不管的,在想想unix各种混乱的版本,总让人忧心忡忡。不过有google这位大神做东,至少在短期内,android会很稳定,市场会有一席之地。目前,网上很少有使用java开发的开源游戏引擎,大多数情况下都因为java的执行效率问题。不过,既然google官方提供了opengles的支持,为什么不试下呢?至少程序员可以不担心硬件层的差异了。
“万事开头难”,由于第一次研究游戏引擎,脑子里也是一头雾水,所以模仿cocos2d的结构,初步定义了部分包和类。欢迎大家多提意见。
cocos2d android包框架图:
![package package](https://i-blog.csdnimg.cn/blog_migrate/25c4f418f0c88510ad600b0c8232cd18.png)
com.moandroid: 包含程序的入口类 |
Class: | |
| main:派生自ListActivity的入口类,可以浏览tests包中的所有Activity。 |
| R:android资源类 |
| |
com.moandroid.cocos2d: cocos2d中的常用高级类 |
Class: | |
| Cocos2d:保存cocos2d的基本信息,例如:当前的版本号,移植的版本号等 |
| |
com.moandroid.cocos2d.action: cocos2d中用于定义对象行为的类 |
Class: | |
| Action:所有行为的基类 |
| Animate |
| BezierBy |
| Blink |
| CameraAction |
| DelayTime |
| EaseAction |
| EaseExponentialIn |
| EaseExponentialOut |
| EaseIn |
| EaseInOut |
| EaseOut |
| EaseRateAction |
| EaseSineIn |
| EaseSineInOut |
| EaseSineOut |
| FadeIn |
| FadeOut |
| FadeTo |
| FiniteTimeAction |
| IntervalAction |
| JumpBy |
| JumpTo |
| MoveBy |
| MoveTo |
| OrbitCamera |
| Repeat |
| RepeatForever |
| ReverseTime |
| RotateBy |
| RotateTo |
| ScaleBy |
| ScaleTo |
| Sequence |
| Spawn |
| Speed |
| TintTo |
| TintBy |
| |
com.moandroid.cocos2d.cocoslive: cocos2d用于网络通讯的类 |
Class: | |
| |
com.moandroid.cocos2d.effects: cocos2d中各种特效类 |
Class: | |
| |
com.moandroid.cocos2d.experimental: cocos2d中实验阶段的类 |
Class: | |
| |
com.moandroid.cocos2d.external: cocos2d中使用到的其他第三方的库和类 |
Class: | |
| |
com.moandroid.cocos2d.image: cocos2d中用于处理图片的类 |
Class: | |
| |
com.moandroid.cocos2d.nodes:cocos2d中可用于渲染的数据类型 |
Class: | |
| CocosNode:所有可渲染对象的基类 |
| Layer:层 |
| Scene:场景 |
com.moandroid.cocos2d.opengles:cocos2d中支持opengles的视图类 |
Class: | |
| GLSurfaceView:用于绘制Opengl ES的视图类 |
com.moandroid.cocos2d.particles: cocos2d中的用于粒子效果的类 |
Class: | |
| |
com.moandroid.cocos2d.renderer:cocos2d中的渲染类 |
Class: | |
| CubeRenderer:渲染cube对象的render |
| Director |
| FastDirector |
com.moandroid.cocos2d.tests:cocos2d中用于测试的类 |
Class: | |
| OpenglesTest:测试OpenglES基本框架的类 |
com.moandroid.cocos2d.types: cocos2d中使用的基本数据类型 |
Class: | |
| ccColorB:颜色值(字节表示) |
| ccColorF:颜色值(浮点数表示) |
| ccGridSize:网格大小 |
| ccPointSprite:点精灵 |
| ccQuad2:2维变换矩阵 |
| ccQuad3:3维变换矩阵 |
| ccRGBB:RGB值(字节表示) |
| ccTime:时间类 |
| ccVertex3D:顶点 |
目前工程只完成了部分类的实现,所以类结构可能会不断变化,我会在以后持续更新上面的表格。
下篇文章我将演示如何使用cocos2d android构建一个Opengl ES程序。