ブロック単位など綺麗にオートスクロールを停止させる方法
アクションエディター4には「主人公の位置に合わせてスクロール」と「オートスクロール」の二種類のスクロール方法がある。
オートスクロールに設定すると、あらかじめ設定した、あるいは「ステータスの操作」コマンドで設定したオートスクロールの速度で、画面を縦か横もしくは両方に強制的にスクロールさせることができる。
横のスクロール速度を正数に設定すれば右方向へ、負数へ設定すれば左方向へスクロールします。縦も同様に正数で下へ、負数で上へスクロールする。
オートスクロールの速度について
オートスクロールの速度は、実はキャラの「直線移動」の速度と全く同じ。
そのため、横スクロールの速度を40に設定すれば、右方向へデフォルトのヤシーユと同じ速度でスクロールする。
縦横の移動を無効化させた速度と距離を指定した直線移動と組み合わせることで、一定距離だけオートスクロールさせるなんてことも可能。
ロックマンなどでよく見かける切り替えスクロールも再現できる。
https://youtu.be/IlnlqrhIl1U
任意の場所でオートスクロールを停止させる
特定の場所でオートスクロールを停止させたい場合、あらかじめ停止させたい画面の位置を測定しておき(方法は後述)、その画面の位置以上の地点に到達した際にスクロール速度を0にすれば任意の位置でスクロールを停止させることが可能。
スクロール速度の関係で超過してしまう場合、超過したドット分×10の速度で1フレームだけ逆方向にオートスクロールさせる。
これは「主人公の位置に合わせてスクロール」から「オートスクロール」に変更させてスクロールを停止させる際にも役に立つ。
これを応用することで疑似ステージ端を作り上げることができる。
画面位置(カメラ位置)の測定
ステージの一番左上に行動範囲が全範囲の無敵でブロックに触れない飛行のキャラを配置(あらかじめ縦と横方向に-16dotずつずらしておくとなおよい)、
常時ステータスの操作で画面座標のXとY(キャラ中心)を取得することで、画面の位置、いわゆるカメラの位置をドット単位で測定可能。
上記の方法でなら、1ブロック分画面を右に動かすと値が-32増えます。配置したキャラとの相対位置になるため、符号が反転しています。
https://youtu.be/LgM_MDRT-vY
by 働かない秒針StoppedSecond.icon