libgdx:[10]游戏的实现框架
介绍游戏的基本组成,及各部分的功能实现。
工具/原料
libgdx
Kicking your game to life 让你的游戏充满活力
1、让我们花一点时间来讨论一个游戏的基本组成。从一个大的层面来看,游戏由两个部分组成:游戏资源和游戏逻辑。游戏资源包括所有的你的游戏将要使用到的工作材料,就像图片、声音效果、背景音乐、和关卡数据。
![libgdx:[10]游戏的实现框架](https://exp-picture.cdn.bcebos.com/3fc72e486143d7d4eb68255e7da75f0f832b50f2.jpg)
2、游戏逻辑是负责追踪当前的游戏状态并且只允许那些我们定义的转换。这些状态会跟随时间由玩家或是游戏逻辑本身触发。例如当玩家按下一个按钮,收集一个物品,或者一个敌人攻击了玩家,游戏逻辑都将决定相应的事件来处理。当游戏运行时这些都应该被知晓。它限制玩家跟游戏世界的互动规则,并决定游戏世界如何相应玩家的行为。为了你能更好的理解这些,看一下下面的图表:
![libgdx:[10]游戏的实现框架](https://exp-picture.cdn.bcebos.com/8db0c6a7263348847dba6a99ddee7b7f870e45f2.jpg)
3、首先就是初始化游戏,加载资源到内存,创建初始游戏世界,并加载几个子系统比如鼠标键盘的输入管理,音频的背景播放个录制,传感器,网络通讯。当所有所有的东西都准备好了,游戏逻辑准备好接管并一直循环直到游戏结束才结束。这种循环通常涉及到游戏循环。在游戏循环中,游戏逻辑收集所有它感兴趣的数据并用来升级游戏世界模块。
![libgdx:[10]游戏的实现框架](https://exp-picture.cdn.bcebos.com/ef4c24ceaad7726bb0bb4452bf0f64781523b9f2.jpg)
4、考虑游戏世界的升级速度是很重要的。通常,游戏会以设备的可用的最快速度运行。大多情况下这让人很不满意,因为你的游戏将依赖于处理功率场景的复杂程度,这将会造成在不同的处理能力的设备上你的游戏表现出不同的效果。这表示你的游戏在不同的电脑上会以不同的速度进展,这将会给玩家造成一个很差的体验。
![libgdx:[10]游戏的实现框架](https://exp-picture.cdn.bcebos.com/6ca984618625419304b191b1df1bd10ff326abf2.jpg)
5、解决这个问题的一个有效的办法就是使用deltatime来计算游戏世界的微小的发展。现在游戏世界的所有升级都将会表现的跟实际的时间(自从上一帧被绘制过去的时间)关联起来。下一个示例你将会看到这是如何实现的。
6、你刚才看到的是创建游戏的一些基础性的概念。是的,非常简单!坦白的讲,在你的程序真正的成为一个游戏之前还有很多需要学习的东西。这本书里还有很多的话题和概念等着你去发掘。比如你将会需要理解怎么以一种有效地方式使用和管理不同的图片。效率将变的尤为重要,如果你是针对像Android智能手机这种资源有限的设备开发你的程序时。