marginモード

marginモードは、既存エフェクトの11〜14番、スクロールと似たようなエフェクトです。後述の数値設定を0にすれば、同じ動作をします。
以下のような画像を二つ用意します。

map1.png

map2.png

説明

画像をパックマンのようなゲームのマップとして考えます。上の画面で、中央の穴までキャラクターを移動させ、さらに下方向への移動をさせると、画面は下の画像に切替られるとします。
その際に、既存の14番(下からスクロール)にすると、マップを区切る壁の厚みが倍になってしまいます。
D

*define
deletemenu
game
*start

bg "map1.png",1
click
bg "map2.png",14,1000
click
bg "map1.png",13,1000
click
end

そこで、旧画面と新画面の両端を重ね合わせて(重ねた部分は新画面が優先されます)同じようにスクロールするエフェクトモードを作成しました。
D

*define
deletemenu
game
*start

bg "map1.png",1
click
bg "map2.png",99,1000,"effectlib.dll/margin,up,32"
click
bg "map1.png",99,1000,"effectlib.dll/margin,down,32"
click
end

bg命令、画像ファイルの次がエフェクト指定です。

  • 99は外部DLLでのエフェクトを意味します。
  • 1000はエフェクト全体で1000ミリ秒の意味です。
  • その次が外部DLLの指定です。
    • effectlib.dllは外部DLLのファイル名です。
    • スラッシュの後、最初の文字列はモード名です。この重ね合わせスクロールモードは、marginを指定します。
    • 次は、どの方向に移動するかです。旧画面がここで指定した方向に移動し、それを追うように新画面が反対側から入ってくると思ってください。
    • 最後に、どれだけ重ね合わせるかをドット数で指定します。この動画の場合、1ブロックが32ドット四方なので、32を指定しています。