手册:使用虚拟手柄(虚拟游戏手柄)支持触摸操作

关于本手册

本手册讲解 ACTION GAME MAKER 中虚拟手柄的用法。虚拟手柄是让导出到 iOS / Android 的游戏可以用画面上的按钮和摇杆来游玩的功能。同时介绍虚拟手柄的制作方法・部件的放置方法、让按钮贴合画面角落的分组的用法,以及用摇杆进行瞄准和改变朝向的方法。

虚拟手柄能做什么

虚拟手柄的部件会视为按下了项目的输入动作(up / A 等)。 与用键盘或手柄按下时的处理相同,因此无需修改现有的可视化脚本输入条件和移动设置,就可以直接用触摸来游玩。

想做的事 虚拟手柄的处理方式
用摇杆移动 「虚拟手柄摇杆」会按下上下左右的动作。拉动的幅度也会改变模拟移动的速度
用按钮跳跃・攻击 「虚拟手柄按钮」会按下指定的动作(A 等)
边移动边跳跃 可以用多根手指同时操作
让冲刺等保持按住 把按钮类型设为「切换」,每次点击都会在按住 / 松开之间切换
用摇杆决定瞄准・朝向 通过「用作手柄摇杆」,可以把它当作左右摇杆来使用
向点击的位置发射子弹 点击虚拟手柄以外的地方,可以代替鼠标
在对话或影片中隐藏 用可视化脚本的「显示虚拟手柄」切换显示 / 隐藏
2 人共用 1 台设备游玩 每个部件都可以选择「玩家」(1P〜8P)

部件有 2 种。

添加菜单中的名称 类 行为
虚拟手柄按钮 VirtualPadButton 只在触摸期间按下动作(推送)。也可以设为切换
虚拟手柄摇杆 VirtualPadStick 把从触摸位置拉出的幅度和方向,作为上下左右动作的强度按下

准备虚拟手柄

项目以1 个场景的形式持有虚拟手柄。运行游戏时,这个场景会一直显示在游戏画面的最前面。 场景切换或菜单场景的打开・关闭都不会让它消失。

制作方法有 2 种。两种都会以左下放摇杆、右下放 B・A 按钮的默认布局来创建。

在地图制作视图中制作

  1. 在左列的「地图」一览中按「+ 新建」。
  2. 种类选择「虚拟手柄」,命名后创建。
  3. 创建的虚拟手柄会被打开。如果项目还没有设置虚拟手柄,它也会自动被设置为游戏中使用的虚拟手柄。

从基本设置中制作

  1. 打开「基本设置」。
  2. 在「虚拟手柄」项目中按「以默认布局新建」。
  3. 会显示所创建场景的位置,并将其设置为游戏中使用的虚拟手柄。

创建的虚拟手柄场景和按钮图像会放在 res://virtualpads 中。

游戏中使用的虚拟手柄与显示条件

在「基本设置」的「虚拟手柄」中选择以下 2 项。

项目 内容
场景路径 从项目内的虚拟手柄一览中选择游戏中使用的虚拟手柄。选择「未指定」则不显示虚拟手柄
显示 仅触摸设备(默认)/ 始终显示 / 不显示

选择「仅触摸设备」时,在 PC 上游玩时不会显示。想在 PC 的测试运行中试用操作时,请选择「始终显示」。 此时可以用鼠标代替触摸进行操作(相当于 1 根手指的操作)。

放置部件

打开虚拟手柄后,地图图层停靠栏的最上方会出现「虚拟手柄设置」行。添加部件时,使用这一行或后文所述分组的行上的「+(添加要素)」。

要素 用途
虚拟手柄按钮 按下动作的按钮
虚拟手柄摇杆 按下上下左右的摇杆
分组 把部件归在一起并贴合画面角落的框
图像 装饰用的图像
标签 放在按钮上的文字等

刚添加的按钮会带有圆形图像和动作 A。摇杆会以 260×260 的大小放置。

用分组贴合画面角落

虚拟手柄按钮会显示在放置的位置(坐标)上。即使画面大小或宽高比改变,按钮也不会跟着「右下」移动。 想在不同设备的画面比例下都把按钮放在角落时,请使用分组。

  1. 从「+」添加「分组」。
  2. 在分组「布局」的「锚点预设」中选择「右下」等。
  3. 从分组行的「+」添加按钮(或者把按钮拖放到分组的行上放入其中)。
  4. 按钮的「位置」就变成了在分组中的位置。

默认布局也是以这种形式制作的。

虚拟手柄设置(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. 在右下等位置再添加 1 个摇杆。
  2. 把新添加的摇杆的「动作向上 / 向下 / 向左 / 向右」全部清空(因为不用于移动)。
  3. 把「用作手柄摇杆」设为「右摇杆」。
  4. 在瞄准或「改变角度」一侧,设置为使用右摇杆。

虚拟手柄以外的触摸(代替鼠标)

显示虚拟手柄期间,没有触摸虚拟手柄部件的手指的触摸会代替鼠标。 读取鼠标位置和左键点击的功能(鼠标操作的条件・获取鼠标位置・朝鼠标位置瞄准・用鼠标移动对象等)会以这个触摸来运作。

  • 按住摇杆的同时用另一根手指点击画面,点击的位置就会成为鼠标的位置。
  • 在部件上开始按下的手指,在松开之前都属于该部件。按下按钮不会让鼠标位置移到按钮上,也不会算作左键点击。

这样就可以制作「用摇杆移动,同时朝点击的位置射击」之类的操作。

用可视化脚本切换显示

用动作「显示虚拟手柄」(类别「游戏设置」)可以显示 / 隐藏虚拟手柄。

项目 内容
显示手柄 开启为显示,关闭为隐藏
  • 设想的用法是在对话场景或影片期间隐藏,结束后恢复显示。
  • 隐藏状态在场景切换后仍会保持。 要恢复时,请再次用这个动作设为显示。
  • 项目中没有设置虚拟手柄,或因显示条件而没有显示时(在 PC 上选择「仅触摸设备」等),不会做任何事。

显示方式

场合 虚拟手柄
游戏中・打开菜单场景期间 显示(显示在菜单的前面)
暂停期间 显示,也可以操作
加载场景・黑幕・启动时的闪屏 隐藏
用「显示虚拟手柄」隐藏之后 隐藏(场景切换后也是)

注意事项

  • 虚拟手柄按钮不会通过「锚点」贴合角落。 想在画面比例改变时也放在角落,请把按钮放入分组,并设置分组的锚点。
  • 1 个按钮只能按下 1 个动作。 无法制作「A 和 B 同时按下」或斜向输入的按钮。
  • 无法按部件切换显示 / 隐藏。 可视化脚本只能切换整个虚拟手柄的显示。
  • 在 PC 的测试运行中确认时,请把「显示」设为「始终显示」。保持「仅触摸设备」的话,在 PC 上不会显示。导出前请记得改回来。
  • 用鼠标代替的操作只相当于 1 根手指,因此在 PC 上无法试用「边移动边跳跃」之类的同时操作。同时操作请在实机或模拟器上确认。
  • 虚拟手柄可以和键盘・手柄同时使用。只要有一方按下,就视为「已按下」。
  • 虚拟手柄场景的根节点必须是「虚拟手柄场景」(VirtualPadScene)。从地图一览或基本设置中创建的场景都是这种形式。根节点为其他种类的场景,不会出现在地图一览或基本设置的一览中。