シーンスクリプトコマンドリファレンス

[shift]……表示位置シフト

シフトを設定すると、posで指定した表示座標に常に一定の値が加算されるようになります。
通常はVRAM定義ファイルにて初期値として設定します。
そこで指定する値と、このコマンドで変更する値は同じものです。

一度設定されたシフト値は各タイプ・バンクの初期化では解除されないので注意してください。

書式:[bg/cg/eg/fg/fw/pl] (no) shift (x) (y)

no
バンクNo
x
x軸シフト量(def:0)
y
y軸シフト量(def:0)

※xとyのパラメータを省略することで、shiftを解除することができます

シフトについて

このコマンドはおもに、画面表示領域とプレーンの左上座標の差を埋めるために使用します。

シフトイメージ

上は、標準で用意されている「通常サイズプレーン」です。
図の全体が1枚のプレーン、中の白い矩形がゲーム画面として表示される部分と捉えてください。

プレーンが画面サイズよりも大きいので、画面外になる部分(赤いゾーン)ができています。

イメージ表示位置の基準点は画面の左上ではなくプレーンの0,0であるため、画面外になっている部分も加算して指定する必要があります。
shiftコマンドを使用することで、この差を考えずに画面上の位置で指定することが可能になります。

※初期状態では、前述のVRAM定義ファイルにて設定されている分がシフトされています。

特殊サイズプレーンを使用するときは、通常サイズプレーンに最適化されたシフト分が余計になることがあります。
そういった場合には、シフト分を差し引いて指定することで本来の位置に表示することができます。