手册:动作「更改对象角度」(ChangeObjectAngle)

关于本手册

本手册讲解可视化脚本的动作「更改对象角度」(ChangeObjectAngle)。它是**改写目标对象的倾斜(旋转)**的动作。可用于「把炮台转向瞄准的方向」「一边缓慢旋转一边坠落」「被打后倾斜」这类表现。

旋转的是什么

会连对象的根节点一起旋转。 因此,图像・墙壁判定・受击判定・攻击判定・连接点会一起倾斜到相同角度。 它不是只倾斜外观,所以从倾斜的炮台射出的子弹方向、倾斜地板的碰撞方式也会一起改变。

它与在检查器中直接改写 rotation 不同。 ACTION GAME MAKER 的左右翻转是以「变换的镜映」实现的,因此只放入旋转会让处于左右翻转状态的对象上下颠倒。 本动作会先解除镜映再重新放入角度,所以即使处于左右翻转状态,朝向也会保持不变。

因此,请不要用「更改属性」去改写 rotation,而要使用本动作。


角度的确定方式

数值 方向
0 未旋转的状态(与素材绘制的一致)
正值 在画面上顺时针
负值 在画面上逆时针

可指定的范围是 -360〜360 度。

「0 度」就是素材原本的朝向。 朝上绘制的图像保持朝上,朝右绘制的图像保持朝右。无论素材朝哪个方向,都请记作「0 = 按绘制的样子」。


设置项目

应用方式

选项 内容
绝对值(设为指定角度) 与当前角度无关,直接设为指定的角度(默认)
相对值(加到当前角度上) 在执行本动作那一刻的角度上,加上指定的角度

相对值的基准是「执行瞬间的角度」。 因此可以做成「每次进入状态就加 90 度」这样的累加。

角度的来源

选项 内容
常量 使用栏位中填入的角度(默认)
变量 从变量・数据库・共享面板等读取角度

从变量读取时,数值会被当作「度」处理。

来源可以用通用的变量槽 UI 指定,可以从本对象 / 指定对象 / 项目变量 / 数据库 / 共享面板等中选择。

如果变量无法解析,本动作什么都不做。 因为若用 0 度代替,在绝对值指定时会让目标非本意地转向正侧方。

缓动设置

项目 内容
是否花时间变化 打开后不是瞬间完成,而是花时间旋转
花费的时间 秒数(默认 0.5 秒)。设为 0 时会瞬间应用
变化曲线 变化的推进方式。未设置时为等速(线性)
  • 起始角度会在执行动作的时刻按每个目标分别记录。
  • 若在变化途中离开状态,就会停在那个角度。 不会还原。
  • 关闭时,会在执行的瞬间放入角度。

对象的指定方式

选项 内容
组 指定的对象组全体(0 = 所有对象)
指定的对象 自身 / 对手 / 以文件指定的对象(默认)
接触条件最后取得的对象 上一次接触判定中取到的对手
锁定的对象 用「锁定对象」记录的对手

在「指定的对象」中指定文件时,可以选择单体(仅 1 个)还是全体(该对象的全部个体)。


实用示例

把炮台转向任意方向

  1. 在炮台的可视化脚本中,把瞄准的角度放入变量(用「把摇杆输入代入变量」「把鼠标信息代入变量」等)。
  2. 放入「更改对象角度」:
    • 应用方式:绝对值
    • 角度的来源:变量 → 步骤 1 的变量
    • 对象:指定的对象 → 自身
  3. 想每帧跟随时,请放在循环的状态中。

子弹会沿着倾斜后的根节点方向射出。 炮口位置事先用连接点决定的话,它会随旋转一起转动。

一边缓慢旋转一边坠落

  1. 在坠落状态放入「更改对象角度」:
    • 应用方式:相对值
    • 角度:360
    • 是否花时间变化:开
    • 花费的时间:2.0
  2. 即为 2 秒转 1 圈。想重复时请让状态循环。

被打后倾斜

  1. 在受击状态放入「更改对象角度」:
    • 应用方式:相对值
    • 角度:15
    • 是否花时间变化:开 / 0.1 秒
  2. 在恢复状态中执行「绝对值 / 0 度 / 0.3 秒」,把它扶正。

如果用相对值倾斜后就不管,每次受击倾斜都会累加。 请务必加入还原的处理。

让接触到的对手旋转

  1. 用「与〜接触」条件进入状态。
  2. 把「更改对象角度」的对象设为「接触条件最后取得的对象」。
  3. 指定角度和时间。

重置倾斜

  • 执行「绝对值 / 0 度」。关闭花时间变化的设置就能瞬间还原。

注意事项

  • 旋转的是连根节点一起的整体。 不只是图像,墙壁判定・受击判定・攻击判定也会一起倾斜。不想改变碰撞方式时,请不要用本动作,而是在图像节点侧倾斜(例如判定动画的「旋转」)。
  • 请不要用「更改属性」改写 rotation。 处于左右翻转状态的对象会上下颠倒。改变角度时请务必使用本动作。
  • 0 度是「按素材绘制的样子」。 朝上绘制的图像会保持朝上。
  • 正值在画面上是顺时针。
  • 角度不会自动还原。 即使离开状态也会保持倾斜,所以想还原的场合请明确放入 0 度(放下持起的对象时也不会还原)。
  • 相对值会累加。 在每次受击都倾斜的做法中,请准备重置的途径。
  • 变量无法解析时什么都不会发生。 只是角度没有放入,也不会报错,请确认变量名和作用域的指定。
  • 在变化途中离开状态时,会停在那个角度。
  • 把花费的时间设为 0 时,即使打开了花时间变化的设置,也会瞬间应用。
  • 想让对象自动朝向移动方向时,请不要用本动作,而使用「更改角度的设置」。 那是配合移动・摇杆・鼠标持续对齐朝向的设置,且 1 个对象只有 1 份生效。
1 个赞