bgex.dll:特殊な大きさの背景用レイヤー型プラグイン

http://www.eiji8pou.net/download/bgex20110617.zip
http://www.eiji8pou.net/download/bgex20110626.zip
http://www.eiji8pou.net/download/bgex20110629.zip

サンプル

*define
deletemenu
setlayer 10,24,"bgex.dll"
game
*start
lsp 100,"*10"
layermessage 10,"load,ev001_01.png" ; 画像ファイルは、1セルのものを使ってください。
layermessage 10,"set,3000,0,799,0,599"
click
end

解説

特殊な、画面サイズとは違うサイズの画像ファイルを、画面いっぱいの大きさに描画するプラグインです。
まず、define節でsetlayerでDLLを呼びます。

setlayer 10,24,"bgex.dll"

その後、start節でスプライトにそのレイヤーを結びつけます。

lsp 100,"*10"

これで準備完了です。

実際

まずはlayermessageでレイヤーに画像ファイルを読み込ませます。

layermessage 10,"load,ev001_01.png"

この状態では、読み込んだ画像の全体が画面に映るように設定されます。
読み込んだ画像のサイズを取得します。

layermessage 10,"size" ; これだけ。
getret $0 ; "1600,800"と言った文字列が入っている。
split $0,",",%100,%101 ; ,で区切って数値に変換して%100と%101に格納する。

そして、アニメーションの設定をします。

layermessage 10,"set,3000,0,799,0,599"
  • 最初の3000は、拡大縮小アニメーションにかかる時間です。(単位はミリ秒)
  • 次の二つの数値は、x座標二つです。最初のxが画面左端、後のxが画面右端になるように縮小されます。
  • 次の二つの数値は、y座標二つです。以下同文。

実際に動かしてみる。

D
上記動画のスクリプトはこう。

;mode800
*define
deletemenu
setlayer 10,24,"bgex.dll"
game
*start
lsp 100,"*10"
layermessage 10,"load,image.jpg"
layermessage 10,"set,0,0,1599,0,1199"
wait 3000
click
layermessage 10,"set,3000,0,799,0,599"
wait 3000
layermessage 10,"set,3000,800,1599,0,599"
wait 3000
layermessage 10,"set,3000,800,1599,600,1199"
wait 3000
layermessage 10,"set,3000,0,799,600,1199"
wait 3000
layermessage 10,"set,3000,0,799,0,599"
wait 3000
layermessage 10,"set,3000,0,1599,0,1199"
wait 3000
click
end

※画像のサイズは1600x1200です。

注意点

  • マイナスの数値を指定しても動きます。画像のない部分は描画されません。