关于本手册
本手册讲解 ACTION GAME MAKER 中虚拟手柄的用法。虚拟手柄是让导出到 iOS / Android 的游戏可以用画面上的按钮和摇杆来游玩的功能。同时介绍虚拟手柄的制作方法・部件的放置方法、让按钮贴合画面角落的分组的用法,以及用摇杆进行瞄准和改变朝向的方法。
虚拟手柄能做什么
虚拟手柄的部件会视为按下了项目的输入动作(up / A 等)。 与用键盘或手柄按下时的处理相同,因此无需修改现有的可视化脚本输入条件和移动设置,就可以直接用触摸来游玩。
| 想做的事 | 虚拟手柄的处理方式 |
|---|---|
| 用摇杆移动 | 「虚拟手柄摇杆」会按下上下左右的动作。拉动的幅度也会改变模拟移动的速度 |
| 用按钮跳跃・攻击 | 「虚拟手柄按钮」会按下指定的动作(A 等) |
| 边移动边跳跃 | 可以用多根手指同时操作 |
| 让冲刺等保持按住 | 把按钮类型设为「切换」,每次点击都会在按住 / 松开之间切换 |
| 用摇杆决定瞄准・朝向 | 通过「用作手柄摇杆」,可以把它当作左右摇杆来使用 |
| 向点击的位置发射子弹 | 点击虚拟手柄以外的地方,可以代替鼠标 |
| 在对话或影片中隐藏 | 用可视化脚本的「显示虚拟手柄」切换显示 / 隐藏 |
| 2 人共用 1 台设备游玩 | 每个部件都可以选择「玩家」(1P〜8P) |
部件有 2 种。
| 添加菜单中的名称 | 类 | 行为 |
|---|---|---|
| 虚拟手柄按钮 | VirtualPadButton | 只在触摸期间按下动作(推送)。也可以设为切换 |
| 虚拟手柄摇杆 | VirtualPadStick | 把从触摸位置拉出的幅度和方向,作为上下左右动作的强度按下 |
准备虚拟手柄
项目以1 个场景的形式持有虚拟手柄。运行游戏时,这个场景会一直显示在游戏画面的最前面。 场景切换或菜单场景的打开・关闭都不会让它消失。
制作方法有 2 种。两种都会以左下放摇杆、右下放 B・A 按钮的默认布局来创建。
在地图制作视图中制作
- 在左列的「地图」一览中按「+ 新建」。
- 种类选择「虚拟手柄」,命名后创建。
- 创建的虚拟手柄会被打开。如果项目还没有设置虚拟手柄,它也会自动被设置为游戏中使用的虚拟手柄。
从基本设置中制作
- 打开「基本设置」。
- 在「虚拟手柄」项目中按「以默认布局新建」。
- 会显示所创建场景的位置,并将其设置为游戏中使用的虚拟手柄。
创建的虚拟手柄场景和按钮图像会放在 res://virtualpads 中。
游戏中使用的虚拟手柄与显示条件
在「基本设置」的「虚拟手柄」中选择以下 2 项。
| 项目 | 内容 |
|---|---|
| 场景路径 | 从项目内的虚拟手柄一览中选择游戏中使用的虚拟手柄。选择「未指定」则不显示虚拟手柄 |
| 显示 | 仅触摸设备(默认)/ 始终显示 / 不显示 |
选择「仅触摸设备」时,在 PC 上游玩时不会显示。想在 PC 的测试运行中试用操作时,请选择「始终显示」。 此时可以用鼠标代替触摸进行操作(相当于 1 根手指的操作)。
放置部件
打开虚拟手柄后,地图图层停靠栏的最上方会出现「虚拟手柄设置」行。添加部件时,使用这一行或后文所述分组的行上的「+(添加要素)」。
| 要素 | 用途 |
|---|---|
| 虚拟手柄按钮 | 按下动作的按钮 |
| 虚拟手柄摇杆 | 按下上下左右的摇杆 |
| 分组 | 把部件归在一起并贴合画面角落的框 |
| 图像 | 装饰用的图像 |
| 标签 | 放在按钮上的文字等 |
刚添加的按钮会带有圆形图像和动作 A。摇杆会以 260×260 的大小放置。
用分组贴合画面角落
虚拟手柄按钮会显示在放置的位置(坐标)上。即使画面大小或宽高比改变,按钮也不会跟着「右下」移动。 想在不同设备的画面比例下都把按钮放在角落时,请使用分组。
- 从「+」添加「分组」。
- 在分组「布局」的「锚点预设」中选择「右下」等。
- 从分组行的「+」添加按钮(或者把按钮拖放到分组的行上放入其中)。
- 按钮的「位置」就变成了在分组中的位置。
默认布局也是以这种形式制作的。
虚拟手柄设置(VirtualPadScene)
├ LeftBottom(分组・左下)
│ └ Stick(虚拟手柄摇杆)
└ RightBottom(分组・右下)
├ ButtonB(虚拟手柄按钮)
│ └ Label「B」
└ ButtonA(虚拟手柄按钮)
└ Label「A」
分组不接收触摸,因此即使分组比按钮大,也不会妨碍对后面的部件或游戏画面的操作。
虚拟手柄会自动向内收,避开刘海、主屏幕指示条等「安全区域」。 即使把部件放在画面边缘,也不会被刘海挡住。
按钮的设置
选择按钮后,检查器中会列出以下项目(不打开「高级设置」也会显示)。
| 项目 | 内容 |
|---|---|
| 玩家 | 作为哪位玩家的输入按下(1P〜8P,默认为 1P) |
| 按钮类型 | 推送(只在触摸期间按下)/ 切换(每次点击在按住 / 松开之间切换) |
| 正常纹理 / 按下纹理 | 按钮的外观。按下期间(切换为按住时)会使用按下时的图像 |
| 动作 | 要按下的输入动作(A / B / start 等) |
| 形状 / 掩码 | 判定为触摸的形状。不指定时以图像的矩形判定 |
| 经过点击 | 开启后,手指从其他地方滑过来时也会按下 |
按钮的大小由图像的大小决定。想改变大小时,可以用「缩放」放大・缩小,或者指定其他大小的图像。
想在按钮上显示文字时,请像默认布局那样把标签放为按钮的子节点。右键点击默认布局中的按钮并选择「创建副本」(Ctrl+D),可以连同标签一起复制。
切换的使用场景
切换适用于冲刺、下蹲等「按住」时才生效的操作,想在松开手指后仍然保持的情况。再点击一次就会恢复为松开状态。虚拟手柄被隐藏时(加载中等),切换会自动恢复为松开状态。
摇杆的设置
选择摇杆后,检查器中会列出以下项目。
| 项目 | 内容 |
|---|---|
| 玩家 | 作为哪位玩家的输入按下(1P〜8P,默认为 1P) |
| 用作手柄摇杆 | 无 / 左摇杆(默认)/ 右摇杆。用于瞄准・改变朝向(见后文) |
| 底座图像 / 按下时的底座图像 | 摇杆底座(外侧的圆)的外观 |
| 摇杆头图像 / 按下时的摇杆头图像 | 用手指移动的摇杆头的外观。未指定按下时的图像时,会使用通常时的图像 |
| 摇杆模式 | Fixed(固定在同一位置)/ 动态(出现在触摸的位置)/ Following(手指大幅移动时底座会跟随) |
| 摇杆大小 / 尖端大小 | 底座和摇杆头的大小 |
| 死区比率 | 从中心到这个比率为止视为无输入 |
| 限位区比率 | 从中心拉到这个比率时,输入达到最大 |
| 动作向上 / 向下 / 向左 / 向右 | 要按下的输入动作(默认为 up / down / left / right) |
| 可见模式 | 始终 / When Touched(只在触摸期间显示) |
选择「动态」或「Following」时,摇杆响应的范围是摇杆本身的矩形范围。想在左下大范围接收触摸时,请把摇杆设得大一些(默认布局中把它扩展到填满左下的分组)。
摇杆会以与拉动幅度相应的强度按下上下左右的动作。移动设置中的模拟移动・自由角度移动,以及摇杆输入的条件都会直接响应。
用摇杆决定瞄准・朝向
子弹的瞄准方向・投掷方向,以及「改变角度」的「摇杆」,不是读取上下左右的动作,而是直接读取手柄的摇杆。让虚拟手柄的摇杆在这里也生效的设置就是「用作手柄摇杆」。
- 保持默认的「左摇杆」时,用于移动的摇杆的方向也会作为瞄准等使用的左摇杆。
- 连接了实体手柄时,会使用倾斜幅度更大的一方。
想要**左摇杆移动、右摇杆瞄准(双摇杆)**时,请按以下步骤操作。
- 在右下等位置再添加 1 个摇杆。
- 把新添加的摇杆的「动作向上 / 向下 / 向左 / 向右」全部清空(因为不用于移动)。
- 把「用作手柄摇杆」设为「右摇杆」。
- 在瞄准或「改变角度」一侧,设置为使用右摇杆。
虚拟手柄以外的触摸(代替鼠标)
显示虚拟手柄期间,没有触摸虚拟手柄部件的手指的触摸会代替鼠标。 读取鼠标位置和左键点击的功能(鼠标操作的条件・获取鼠标位置・朝鼠标位置瞄准・用鼠标移动对象等)会以这个触摸来运作。
- 按住摇杆的同时用另一根手指点击画面,点击的位置就会成为鼠标的位置。
- 在部件上开始按下的手指,在松开之前都属于该部件。按下按钮不会让鼠标位置移到按钮上,也不会算作左键点击。
这样就可以制作「用摇杆移动,同时朝点击的位置射击」之类的操作。
用可视化脚本切换显示
用动作「显示虚拟手柄」(类别「游戏设置」)可以显示 / 隐藏虚拟手柄。
| 项目 | 内容 |
|---|---|
| 显示手柄 | 开启为显示,关闭为隐藏 |
- 设想的用法是在对话场景或影片期间隐藏,结束后恢复显示。
- 隐藏状态在场景切换后仍会保持。 要恢复时,请再次用这个动作设为显示。
- 项目中没有设置虚拟手柄,或因显示条件而没有显示时(在 PC 上选择「仅触摸设备」等),不会做任何事。
显示方式
| 场合 | 虚拟手柄 |
|---|---|
| 游戏中・打开菜单场景期间 | 显示(显示在菜单的前面) |
| 暂停期间 | 显示,也可以操作 |
| 加载场景・黑幕・启动时的闪屏 | 隐藏 |
| 用「显示虚拟手柄」隐藏之后 | 隐藏(场景切换后也是) |
注意事项
- 虚拟手柄按钮不会通过「锚点」贴合角落。 想在画面比例改变时也放在角落,请把按钮放入分组,并设置分组的锚点。
- 1 个按钮只能按下 1 个动作。 无法制作「A 和 B 同时按下」或斜向输入的按钮。
- 无法按部件切换显示 / 隐藏。 可视化脚本只能切换整个虚拟手柄的显示。
- 在 PC 的测试运行中确认时,请把「显示」设为「始终显示」。保持「仅触摸设备」的话,在 PC 上不会显示。导出前请记得改回来。
- 用鼠标代替的操作只相当于 1 根手指,因此在 PC 上无法试用「边移动边跳跃」之类的同时操作。同时操作请在实机或模拟器上确认。
- 虚拟手柄可以和键盘・手柄同时使用。只要有一方按下,就视为「已按下」。
- 虚拟手柄场景的根节点必须是「虚拟手柄场景」(VirtualPadScene)。从地图一览或基本设置中创建的场景都是这种形式。根节点为其他种类的场景,不会出现在地图一览或基本设置的一览中。