随着android平台的推广和android手机的大量推出,有人预言android将是一个嵌入式的统一平台。果真如此 吗?Apple,Microsoft, nokia不会坐视不管的,在想想unix各种混乱的版本,总让人忧心忡忡。不过有google这位大神做东,至少在短期内,android会很稳定,市场会有一席之地。目前,网上很少有使用java开发的开源游戏引擎,大多数情况下都因为java的执行效率问题。不过,既然google官方提供了 opengles的支持,为什么不试下呢?至少程序员可以不担心硬件层的差异了。
“万事开头难”,由于第一次研究游戏引擎,脑子里也是一头雾水,所以模仿cocos2d的结构,初步定义了部分包和类。欢迎大家多提意见。
cocos2d android包框架图:
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程序。
(海市蜃楼) |