关于本手册
本手册讲解可视化脚本的动作「更改对象角度」(ChangeObjectAngle)。它是**改写目标对象的倾斜(旋转)**的动作。可用于「把炮台转向瞄准的方向」「一边缓慢旋转一边坠落」「被打后倾斜」这类表现。
旋转的是什么
会连对象的根节点一起旋转。 因此,图像・墙壁判定・受击判定・攻击判定・连接点会一起倾斜到相同角度。 它不是只倾斜外观,所以从倾斜的炮台射出的子弹方向、倾斜地板的碰撞方式也会一起改变。
它与在检查器中直接改写 rotation 不同。 ACTION GAME MAKER 的左右翻转是以「变换的镜映」实现的,因此只放入旋转会让处于左右翻转状态的对象上下颠倒。 本动作会先解除镜映再重新放入角度,所以即使处于左右翻转状态,朝向也会保持不变。
因此,请不要用「更改属性」去改写 rotation,而要使用本动作。
角度的确定方式
| 数值 | 方向 |
|---|---|
| 0 | 未旋转的状态(与素材绘制的一致) |
| 正值 | 在画面上顺时针 |
| 负值 | 在画面上逆时针 |
可指定的范围是 -360〜360 度。
「0 度」就是素材原本的朝向。 朝上绘制的图像保持朝上,朝右绘制的图像保持朝右。无论素材朝哪个方向,都请记作「0 = 按绘制的样子」。
设置项目
应用方式
| 选项 | 内容 |
|---|---|
| 绝对值(设为指定角度) | 与当前角度无关,直接设为指定的角度(默认) |
| 相对值(加到当前角度上) | 在执行本动作那一刻的角度上,加上指定的角度 |
相对值的基准是「执行瞬间的角度」。 因此可以做成「每次进入状态就加 90 度」这样的累加。
角度的来源
| 选项 | 内容 |
|---|---|
| 常量 | 使用栏位中填入的角度(默认) |
| 变量 | 从变量・数据库・共享面板等读取角度 |
从变量读取时,数值会被当作「度」处理。
来源可以用通用的变量槽 UI 指定,可以从本对象 / 指定对象 / 项目变量 / 数据库 / 共享面板等中选择。
如果变量无法解析,本动作什么都不做。 因为若用 0 度代替,在绝对值指定时会让目标非本意地转向正侧方。
缓动设置
| 项目 | 内容 |
|---|---|
| 是否花时间变化 | 打开后不是瞬间完成,而是花时间旋转 |
| 花费的时间 | 秒数(默认 0.5 秒)。设为 0 时会瞬间应用 |
| 变化曲线 | 变化的推进方式。未设置时为等速(线性) |
- 起始角度会在执行动作的时刻按每个目标分别记录。
- 若在变化途中离开状态,就会停在那个角度。 不会还原。
- 关闭时,会在执行的瞬间放入角度。
对象的指定方式
| 选项 | 内容 |
|---|---|
| 组 | 指定的对象组全体(0 = 所有对象) |
| 指定的对象 | 自身 / 对手 / 以文件指定的对象(默认) |
| 接触条件最后取得的对象 | 上一次接触判定中取到的对手 |
| 锁定的对象 | 用「锁定对象」记录的对手 |
在「指定的对象」中指定文件时,可以选择单体(仅 1 个)还是全体(该对象的全部个体)。
实用示例
把炮台转向任意方向
- 在炮台的可视化脚本中,把瞄准的角度放入变量(用「把摇杆输入代入变量」「把鼠标信息代入变量」等)。
- 放入「更改对象角度」:
- 应用方式:绝对值
- 角度的来源:变量 → 步骤 1 的变量
- 对象:指定的对象 → 自身
- 想每帧跟随时,请放在循环的状态中。
子弹会沿着倾斜后的根节点方向射出。 炮口位置事先用连接点决定的话,它会随旋转一起转动。
一边缓慢旋转一边坠落
- 在坠落状态放入「更改对象角度」:
- 应用方式:相对值
- 角度:360
- 是否花时间变化:开
- 花费的时间:2.0
- 即为 2 秒转 1 圈。想重复时请让状态循环。
被打后倾斜
- 在受击状态放入「更改对象角度」:
- 应用方式:相对值
- 角度:15
- 是否花时间变化:开 / 0.1 秒
- 在恢复状态中执行「绝对值 / 0 度 / 0.3 秒」,把它扶正。
如果用相对值倾斜后就不管,每次受击倾斜都会累加。 请务必加入还原的处理。
让接触到的对手旋转
- 用「与〜接触」条件进入状态。
- 把「更改对象角度」的对象设为「接触条件最后取得的对象」。
- 指定角度和时间。
重置倾斜
- 执行「绝对值 / 0 度」。关闭花时间变化的设置就能瞬间还原。
注意事项
- 旋转的是连根节点一起的整体。 不只是图像,墙壁判定・受击判定・攻击判定也会一起倾斜。不想改变碰撞方式时,请不要用本动作,而是在图像节点侧倾斜(例如判定动画的「旋转」)。
- 请不要用「更改属性」改写 rotation。 处于左右翻转状态的对象会上下颠倒。改变角度时请务必使用本动作。
- 0 度是「按素材绘制的样子」。 朝上绘制的图像会保持朝上。
- 正值在画面上是顺时针。
- 角度不会自动还原。 即使离开状态也会保持倾斜,所以想还原的场合请明确放入 0 度(放下持起的对象时也不会还原)。
- 相对值会累加。 在每次受击都倾斜的做法中,请准备重置的途径。
- 变量无法解析时什么都不会发生。 只是角度没有放入,也不会报错,请确认变量名和作用域的指定。
- 在变化途中离开状态时,会停在那个角度。
- 把花费的时间设为 0 时,即使打开了花时间变化的设置,也会瞬间应用。
- 想让对象自动朝向移动方向时,请不要用本动作,而使用「更改角度的设置」。 那是配合移动・摇杆・鼠标持续对齐朝向的设置,且 1 个对象只有 1 份生效。