教程:入门课程

欢迎来到 ACTION GAME MAKER 的世界!

本教程是初学者学习操作的首选。
请使用教程项目,制作一个简单的跳跃动作游戏。

虽然只有日语版本,但我们已准备了视频,欢迎使用。

步骤 1:入门

  1. 加载教程项目
    首先,启动 ACTION GAME MAKER。
    启动后,点击顶部的“Sample Project”按钮。

  1. 选择 Platformer Tutorial。

  2. 当系统询问是否将项目添加到项目列表时,请选择“下载”。

  3. 按下下载按钮后,将显示加载进度。
    在此期间,系统正在复制教程项目的数据,请稍候。
    教程项目包含所有示例素材,文件大小接近 1GB,因此复制过程可能需要几分钟。

  4. 加载完成后,标签页会自动切换到“Projects”,并在列表中出现“TutorialProject”。请选中它并点击“编辑”。

  5. 如果显示以下画面,即表示完成。

步骤2:编辑器界面的使用方法
现在,屏幕上显示了许多窗口,但您只需记住这四个即可。

左上角的窗口 [场景]:

这是当前游戏场景中放置的所有对象(在 Godot 中称为 [节点])的列表。瓷砖地图、用于放置对象的图层等会汇总显示在此处。

左下角的窗口 [文件系统]

此处显示可用于游戏的素材列表。本教程将使用此处提供的素材。

中央的窗口 [编辑器界面]

这是当前 [场景] 的预览画面。
您可以看到角色和瓷砖已经部分放置好了。

右侧的窗口 [检查器]:

此处显示所选对象的详细数据和属性。基本上,通过在 [场景] 中选择 [节点] 并在此处调整其数据来制作游戏。

步骤3:使用示例对象来制作游戏。
现在,让我们使用附带素材立即开始制作游戏。
请看中间的屏幕。角色和地面已经放置好了。这个角色是可以操作的,因此让我们立即开始测试游玩吧。

点击屏幕右上角的:play_button:按钮,将打开一个新窗口,即可开始测试游玩。
操作方法非常简单:
如果使用控制器,则通过左摇杆移动,按A键跳跃。
如果使用键盘,则通过←→键移动,按Z键跳跃。

如果不小心从关卡掉落,只需按F5键即可重置。

完成测试后,请关闭测试游玩窗口。

步骤4:尝试放置图块。
目前舞台看起来太小了。
让我们立即放置图块,将其扩大。

  1. 首先,请查看左上角的[场景]窗口。
    菱形图标代表图块(正式名称为 TileMapLayer 节点)。
    默认放置的基础文件名为 [Base],请选择它。

此时,中央画面应显示网格,并在中央下方出现名为[图块放置]的新窗口。如果未显示网格,请点击[图块放置]窗口右上角的网格图标。

  1. 图块放置功能类似于选择要放置的图块的调色板。虽然可以逐个选择图块,但建议使用地形(自动图块)功能。请将窗口左上角的标签从[图块]切换到[地形]。


    切换后,您会发现已有三个自动图块:
    Terrain Set 0(最上方):已放置的土壤风格图块
    Terrain Set 1(中间):岩石风格图块
    Terrain Set 2(最下方):遗迹风格图块
    请选择您喜欢的图块。

  2. 选择完成后,拖动中央的[编辑器画面]来绘制图块。系统应会自动填充与已放置图块相匹配的图块。
    如果无法正确绘制,请检查以下内容:
    在[自动图块选择画面]中,是否选择了类似 :sun: 的标记[连接模式]?
    在[自动图块选择画面]顶部,是否选择了:pencil:画笔工具?
    image
    在[编辑器画面]顶部的工具栏中,是否选择了 :up_left_arrow: 选择工具?是否误选了移动工具等其他工具?
    image

  3. 在中央画面绘制图块地图。
    右键单击可以删除图块。您也可以在[图块放置]窗口顶部切换绘图工具。从左到右依次为:
    image
    画笔:逐个单元格填充
    直线:绘制直线
    矩形:绘制填充的矩形
    油漆桶:填充区域
    拾色器(吸管):重新选择已放置的图块
    橡皮擦:删除已放置的图块。可与直线/矩形/油漆桶工具配合使用。
    请注意,橡皮擦和拾色器为切换式工具,在取消选择之前会持续生效。

  4. 现在,您已经绘制了地面,但最初放置的图块上应该长有草。
    让我们用草装饰新放置的图块。
    草是在另一个图块地图图层中绘制的。
    请在[场景]中选择 [BaseCover]。草也已被转换为自动图块,因此请选择您喜欢的样式,尽情制作地图吧。

步骤5:尝试放置示例对象。
本项目中准备了几个示例对象,接下来让我们尝试放置它们。

  1. 请展开左下角的[文件系统]窗口中的[sampleobject]文件夹。其中包含的.tscn格式文件即为示例对象。现在让我们开始放置对象吧。

  2. 首先,指定要放置在哪一层。请查看左上角的[场景]窗口。AGMaker用的对象必须作为各层的子节点进行放置。
    请选择位于SceneLayer>BaseLayer的Player节点。这样,在放置对象时,它们将作为Base层的子节点被放置。

  3. 接下来,将对象实际放置到场景中。首先尝试放置硬币。
    只需将左下角文件系统窗口中的Object_Coin.tscn拖放到场景中间想要放置的位置即可。

  4. 如果想改变位置,请选择已放置的Coin并用鼠标拖动。如果错误地将其放置在了BaseLayer以外的层中,请在场景窗口中选择Coin,并将其移动到BaseLayer的子节点下。放置完成后,请再次点击右上角的:play_button:按钮或按F5键进行测试运行。如果玩家碰到硬币,硬币将会消失,右上角的硬币数量应增加1。

  5. 接下来,请随意放置其他喜欢的对象。总共有13种示例对象。不妨尝试放置一下。

样本对象概要

文件名 内容
Enemy_Kanibo 只会左右移动的小怪。踩踏即可将其击败。
Object_block 可以用头撞击破坏的方块。
Object_Coin 金币。玩家触碰即可收集。
Object_Floorlamp 跳跃踩踏即可破坏的灯。
Object_Goalflag 玩家触碰后会触发演出效果。
Object_Jumpboard 玩家踩踏后会将其弹起的板子。
Object_Platform_horizontal, Object_Platform_vertical 会定期左右(上下)移动的浮台。
Object_Sampleplayer 玩家角色。
Decoration_Statue 用于装饰的雕像。
Decoration_lamp, Decoration_torch 带光源的灯。会自动生成阴影。
UI_Coin_counter 显示当前持有的金币数量。

配置完成后,点击 :play_button: 进行测试游玩。测试游玩也可以通过按 [F5] 键快速启动。
像这样,通过在关卡中配置对象,游戏便逐渐成型。

步骤6:自定义对象
接下来,让我们尝试自定义示例对象。

  1. 点击 Player 对象的 :clapper_board:“在编辑器中打开”。
    image

  2. [编辑器] 画面中应会新增一个名为“Object_Sampleplayer”的新标签页,并显示角色。查看 [场景] 画面,您会看到与第一个场景一样,节点以树状结构大量排列。
    每个节点都存储着此玩家对象所需的信息。

  3. 请尝试选择 [MoveAndJumpSettings] 节点。您是否注意到右侧的检查器窗口已切换为该节点的信息?
    正如名称所示,此节点可用于设置该对象移动输入所使用的按键、移动速度、跳跃力度等。
    左右移动速度栏默认输入值为 300,让我们将其更改为600

  4. 使用 :play_button: 或 [F5 键] 进行测试运行。角色的速度应变为原来的两倍。确认无误后,请将速度改回 300

STEP7 视觉脚本的查看方法

  1. 接下来,让我们学习视觉脚本。请点击屏幕左上角,位于 Player 旁边的:scroll:图标。
    image
  2. 您应该在 [编辑器] 画面中看到了视觉脚本。这是控制玩家行为的程序。
    写有 [Idle] 或 [Move] 等字样的方框表示将要执行的动作。这个方框称为状态(State)。
    连接各个状态的线表示动作切换的条件。这条线称为链接(Link)。
    现在,请点击 [Jump]。右侧的 [检查器] 中将显示 [Jump] 的动作设置。
  3. 默认情况下,各项设置处于折叠状态,请点击展开以查看其内容。
    动画设置用于设定要播放的动画。此处指定了 009_Jump。
    动作设置中,可以配置跳跃等基本动作。此处已设置为执行跳跃。
    在“其他执行动作”中,可以从各种动作中选择并添加想要执行的行动。这类似于 RPG Maker 中的事件命令。此处设置了“播放声音”。

步骤8:尝试创建新动作

  1. 现在,让我们添加一个新动作。这次,我们将创建一个滑行动作。在 [move] 状态框附近的空白区域右键单击,选择“添加状态”。应该会创建一个新的状态 [状态001]。选择 [状态001],查看右侧的检查器窗口。

  2. 首先,让我们更改名称。在检查器窗口的下方,选择标题栏,并将其更改为 [Sliding]。

  3. 接下来,设置动作期间播放的动画。展开“分配动画”,点击 <动画类别>。已注册的动画将以下拉列表形式显示。由于这次是滑行,请选择 [028_sliding]。

  4. 最后,配置动作。展开“动作设置”。在这里,可以设置移动速度、跳跃等选项。
    我们希望冲刺时无法取消,因此请勾选 [不接受移动输入]。如果启用此选项,在此状态期间将无法通过输入进行操作。
    由于希望高速移动,请将 <左右移动速度更改(%)> 的值设置为 200。这样,在此动作期间将以两倍速度移动。

  5. 接下来,让我们设置为强制向目标方向移动。这位于较深的位置。展开“其他执行动作”,然后展开“ArrayActions”。点击“+ 添加动作”按钮。

  6. 将弹出添加动作的窗口。从上往下数第三个选项是“移动方向”,请选择并添加。虽然有几个可选选项,但设置项保持默认即可,点击底部的添加按钮完成添加。至此,滑行动作状态已完成。

步骤9:连接状态

现在,虽然我们已经实现了滑动动作,但由于该状态尚未连接到任何状态,因此无法进入该状态。所以,让我们创建一个从 [移动] 到 [滑动] 的连接。

  1. 右键点击 [移动] 状态,选择“添加链接”。

  2. 会出现一条线,将其拖动到刚才创建的 [滑动] 状态上并左键点击。此时,[移动] 到 [滑动] 之间应该已经建立了连线。

  3. 接下来,设置转换条件。点击创建的链接,查看检查器窗口。请开启“输入时”属性。会出现一个新的框,点击展开 Array[InputCondition],然后点击 [+添加输入] 按钮。

  4. 会出现一个标有 <空> 的栏,点击它并选择 New InputCondition。

  5. <空> 会变为 InputCondition,再次点击并展开。此时会显示键盘输入设置选项,请按如下方式设置。这样,在 [移动] 状态中,当按下 B 键(在键盘上是 X 键)的瞬间,就会转换到 [滑动] 状态。

  6. 现在可以滑动了……但是,从 [滑动] 到另一个状态的链接还不存在。如果不添加链接,将会无限滑动下去。因此,让我们创建一个从 [滑动] 到 [待机] 的链接。像刚才一样,右键点击 [滑动] 状态,创建链接。

  7. 直接将其连接到右侧的 [待机]。

顺便问一下,大家是否注意到左右两侧有两个名为 [待机] 的状态?其实,这两个状态是相同的,右侧的 [待机] 是快捷方式。快捷状态在名称左上角有一个 :up_right_arrow: 的标记。
image

由于视觉脚本的链接必须从左向右连接,因此在需要返回之前的状态时,使用快捷方式非常方便。这可以防止链接变得像意大利面一样混乱。

  1. 接下来,让我们使用除输入以外的条件。选择并展开 Array[Conditions],点击 [+添加条件]。

  2. 会打开一个添加条件的窗口,选择 [经过一定时间] 条件,并将值设置为 0.3 秒。由于该条件位于下方,您也可以在上方的搜索栏中输入文字进行搜索。点击添加按钮即可完成。

  3. 现在,按 :play_button: 或 F5 键进行测试运行。如果设置正确,在移动过程中按下 X 键将执行滑动,并在 0.3 秒后返回待机动作。(注意:如果持续按住移动键,将立即转换回移动状态。)

如果无法正常工作,请检查以下内容:

  • 由于未从 [待机] 或 [跳跃] 连接链接,因此无法转换,请在移动时按下按键。
  • 如果按下按键后仍无法转换,请检查从 [移动] 到 [滑动] 的链接。
  • 如果链接正常但动作不执行,请检查 [滑动] 的设置,确认是否已设置动画或执行动作。
  • 如果无法从滑动返回,请检查从 [滑动] 到 [待机] 的链接。

如果一切正常,任务就完成了。现在您已经能够完整创建脚本。

您可以修改冲刺速度或转换时间,根据个人喜好进行自定义,也可以在“其他执行动作”的“播放声音”动作中为冲刺添加音效或语音。

还可以从 [待机] 创建链接,实现原地滑动。

也可以从 [跳跃] 或 [下落] 创建链接,实现空中滑动。(此时,请将链接从 [待机] 改回 [着陆],否则将无法着陆。)

本教程到此结束,要退出脚本界面,请将最上方的标签切换为 [2D]。

动作制作是转换与条件的组合。根据组合方式,可以实现各种功能,因此查看其他示例对象的脚本可能会对您有所启发。

在此有一点需要注意:
打开视觉脚本时,请务必选择持有该视觉脚本的对象标签。

作为 Godot 的功能,无论当前标签是什么,都可以自由打开脚本界面,但视觉脚本的动画设置和变量设置需要读取打开标签的信息,因此部分设置将无法完成。

本教程已介绍了基本操作,但仍有大量功能尚未说明……想必大家想在“ACTION GAME MAKER”中实现的内容各不相同。因此,后续教程课程将主要分为以下两类:

1. 图形课程
面向希望操控自己绘制角色的用户。

2. 脚本课程
面向希望使用默认角色创建各种动作和系统的用户。

3. 表现强化课程
面向希望实现具有 Godot 风格的酷炫表现的用户。

您可以从任意课程开始学习,但如果从零开始制作游戏,最终建议修完所有课程。