如何编写具有不同游戏状态的 HTML5 游戏

How to code a HTML5 game with distinct game states

本文关键字:游戏 状态 HTML5 何编写      更新时间:2023-09-26

我是HTML5游戏开发的新手,由于其轻量级和模块化特性,我正在尝试使用Quintus引擎。我正在考虑创建一个具有多个"状态"的简单游戏,包括以下内容:

  • 欢迎/加载屏幕

  • 用户配置屏幕(例如选择性别、头发颜色等(

  • 游戏
  • 主菜单(重启游戏的按钮、帮助等(

  • 实际播放

  • 等等

  • 等等

我对如何划分和构建这些状态感到困惑。我有一种感觉,舞台和场景(在Quintus中(与此有关,但我似乎无法确定如何实际将它们用于此目的。

http://html5quintus.com/

您可能希望为此使用状态机。 这是一篇关于这个家伙如何构建他的游戏代码,并使用有限状态机来处理状态和状态之间转换的优秀文章。他的其余文章绝对值得一读,特别是如果你是javascript游戏开发的新手。

更具体地说,关于Quintus,虽然我没有使用它,但概述给出了如何在场景/屏幕之间切换的不错想法。

基本上,您只需使用 Q.scene('yourScene',function(stage) {}) 定义阶段,它可以包含您喜欢的任何内容,例如游戏屏幕或菜单,然后调用 Q.stageScene("yourSceneLevelMenuEtc"); 切换到该状态。

对于您问题的用户配置部分,Q.state可能会派上用场。 从文档中:

Quintus(v0.0.4及更高版本(提供了一种跟踪全局游戏的机制 状态 - 无论是剩余生命数、分数还是库存。这 以Q.state对象(Q.GameState 的实例(的形式出现。

查看此页面中的"游戏状态"部分:http://www.html5quintus.com/guide/core.md

祝你好运!