LibGDX_4.1: LibGDX 游戏开发框架

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/xietansheng/article/details/50187027

本文链接: http://blog.csdn.net/xietansheng/article/details/50187027

LibGDX 基础教程(总目录)

1. 游戏中的 MVC

个人觉得游戏开发可以看做是标准的 MVC 设计模式:

  • M(Model,数据模型): 封装游戏中的各种数据。例如 游戏背景图片; 游戏人物的位置,角度,血值,得分等所有表述游戏组成的数据。
  • C(Controller,控制器): 实时接收用户输入(例如触摸屏幕,点击鼠标,按下按键等),根据用户不同的输入,改变数据模型中的相应数据(例如改变人物位置,增加得分等)。
  • V(View,视图): 游戏画面的显示,实时或当游戏数据改变时,将在内存中的模型表述的游戏数据更新绘制到屏幕上。

MVC 与 用户交互图示:

sy_mvc.png

2. 游戏画面的更新方式

游戏画面的更新主要有两种方式:

  • 被动更新: 只有在游戏数据有改变时才手动更新一次画面。这种方式适合画面没有需要实时改变的游戏,例如棋牌类游戏。
  • 主动更新: 游戏开始后,不管数据是否有改变,画面不停地实时绘制更新所有数据,一般最大为每秒更新绘制 60 次,即帧率为 60。这种方式适合画面动画多,数据画面实时变化的游戏,例如跑酷类游戏。

这两种更新方式 LibGDX 都支持,默认为主动更新。

3. 游戏框架

LibGDX 对游戏中的 MVC 进行了更为细致的封装,主要是对数据模型的封装,使开发者更加方便地去组织游戏程序。LibGDX 将一个游戏的运行看做是拍一场电影,主要由 场景,舞台,演员组成。LibGDX游戏开发通过 场景(Screen),舞台(Stage),演员(Actor)以及 精灵(Sprite)之间的联系进行组织游戏的绘制、碰撞检测、事件处理、逻辑处理等。LibGDX开发游戏的模式如下图所示:

sy_framework.png

下面通过对比 Android 应用开发的 组件 和 控件 介绍 场景、舞台、演员:

  • 场景(Screen): 一个场景可以理解为一个游戏界面,类似 Android 中的 Activity,一个游戏由多个场景(界面)组成,通常包括开始界面、游戏 / 关卡界面、帮助界面等。
  • 舞台(Stage): 一个舞台可以理解为场景中的一个图层,类似 Android 中 FrameLayout / RelativeLayout,一个场景可以包括一个或多个舞台(图层),例如一个“游戏关卡舞台”和一个“结束游戏舞台”,正在游戏时隐藏“结束游戏舞台”,游戏结束时显示“结束游戏舞台”。
  • 演员(Actor): 演员表示游戏中的最基本元素,类似 Android 中的 TextView / ImageView / Button,一个舞台中包含多个演员,例如 背景图片,游戏人物,怪物,地板,障碍物等。

后续章节将详细介绍场景,舞台,演员等的使用。


没有更多推荐了,返回首页