下のモジュールみたいなのはどっかにあるんじゃないか?と思いつつも
(あったら重複する形になりますね、ごめんなさい。)
2Dゲームに使用する画像(または音楽やテキストデータなど)のほぼ全てのロード処理を
モジュール化し、楽しよう&スクリプトを見やすくするため、
またはモジュールの勉強のために自作してみました。
開発環境:Win Vista Home Premium SP(ノート)+hsp(win) ver3.2
最終的にはリストファイルから必要な素材ファイルを全てロードしていくつもりです。
;↓「基本的な処理」のモジュール #module #define global renzoku newmod picdata,a2,val1,val2:renzokub picdata #deffunc grpload str grpfilename ;・画像ロード ;・画像の大きさ取得 ここでpicx,picyを取得します ;メインはこっちでないのでここはダミー>< return #global ;↓「renzoku」モジュール #module a2 a,b #modinit array p1,array p2 vala = length(p1):valb = length(p2) if vala!valb:dialog "err:flagとfileの不一致":end dim flag,vala dim file,vala repeat vala flag(cnt) = p1(cnt) file(cnt) = p2(cnt) await 1 loop return #modfunc renzokub repeat vala buffer flag(cnt),picx,picy ;picx,picy=(縦,横 それぞれのサイズ)「基本的な処理」モジュールのgrploadで取得したサイズのデータ grpload file(cnt) await 1 loop return #global ;↓それぞれの値の設定 dim val1,2:dim val2,2 val1(0) = 15:val2(0) = "A.bmp" val1(1) = 16:val2(1) = "B.bmp" val1(2) = 17:val2(2) = "C.bmp" ;↓実際に描画 renzoku gsel 0:gcopy 17,0,0,1024,768 ;とりあえず、17のバッファを0のスクリーンにコピーしてみる stop ;(縦1024,横768のサイズで表示すると仮定しています)
拡張子の判定はできるんですが、その後の制御がどうもわからないのです。
(ループのなかでリストを作って1番上のファイル名のものをロードし、その行を削除して
拡張子ごとに決められた処理を行う→また最初に戻る。という処理をしたいのです。
そこで、note系の命令を使用して判定しているのですが、noteは2度使えません。
そのあたりの制御が私にとっては???です。)
また、何かこのスクリプトにご意見などがあればどしどしコメントをお願いします。