第二篇太简单了,android 开发入门,就不翻译了,直接第三篇了,基本游戏架构
我们的安卓程序能运行了,你可能想知道到底什么类型的程序是游戏,说一下我的理解,下面的表展示了一个游戏的架构
android平台的游戏架构
我们的例子中触摸屏幕是输入,但是也可能是物理键盘,麦克风,照相机,加速器,或者是GPS,框架展示事件,事件是通过触摸屏幕activity中的view传递来的
用户输入
我们的游戏中的输入是触摸屏幕事件,我们的游戏引擎监视onTouch事件,每次事件我们都记录坐标,如果坐标在我们设定的控制区域,我们就让游戏引擎来发出动作,例如,如果触摸触摸在我们设计的让人物移动的圈内,就让人物移动,同样也适用于武器控制,所有的这些转换都会因为用户的手势输入改变人物的状态。
游戏逻辑
游戏逻辑负责改变人物状态,每个人物都有一个状态,我们的英雄,坏淫,地形,子弹,激光射线等等,例如,我们触摸控制区域的上半部分,如图所示,被转换为,计算人物移动速度,依据是我们移动控制的位置
上图中的浅绿圆圈代表我们手指触摸的控制区域,用户输入通知游戏引擎,并提供了坐标,dx和dy代表了相对于圆中心的距离,游戏引擎计算人物新的速度和方向,如果dx是正的代表他会向右走,而dy是正的,代表会向上移动
声音
这个模块会根据当前的状态来播放声音,几乎所有的物体都会在他们的状态播放声音,因为我们的设备只有几个通道,我们必须决定哪个声音要播放,例如,坏淫给我们的主人公造成威胁的时候会有声音发出,当然我们也会给射击的声音来保存一个通道,简单来说,声音就是这样
图形
这个模块负责显示游戏的不同状态,可以是简单到在view中的canvas直接画图,或者保存一个单独的图形buffer,再传递到自定义的view或者opengl view。
衡量渲染的标准是FPS,就是每秒显示多少帧,如果是30FPS,就意味着每秒显示30个图片,对于移动设备来说30帧已经足够好了
当然FPS越高 动画越平滑,想象一下一个人在走路,你闭上眼睛一秒,你的眼睛会看到一秒后的位置,这是2FPS,观察他们走路,且一直睁着眼睛,你就会看到平滑的移动,我们要保证最小是30FPS,根据你的眼睛,也许需要更多的FPS,如果你有很好的接收器,这个值可能是80-100
输出
输出就是声音 图像的显示结果,也可能是震动如果我们想要的话
下一步 我们就要设置我们的view,并试着来做屏幕触摸的输入 来做我们的第一个游戏循环,我们将会有我们第一个游戏引擎。