マニュアル: アクション「オブジェクトの角度を変更」

このマニュアルについて

このマニュアルでは、ヴィジュアルスクリプトのアクション「オブジェクトの角度を変更」について解説します。対象オブジェクトの傾き(回転)を書き換えるアクションです。「砲台を狙った方向へ向ける」「ゆっくり回転しながら落ちる」「叩かれて傾く」といった見せ方に使います。

何が回るのか

オブジェクトのルートごと回ります。 そのため、絵・壁判定・あたり判定・攻撃判定・接続点がまとめて同じ角度に傾きます。 見た目だけを傾けるのではないので、傾いた砲台から出る弾の向きや、傾いた床の当たり方も一緒に変わります。

インスペクターから直接 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 枚だけ効きます。