>敵の全アクション(約150枚)
>自キャラの全アクション(約150枚)
とありますが、もしかして1枚の絵を1つのファイルとして
用意し読み込んでいるのでしょうか?
もしそうであれば、ひとつの[技]単位などで画像を分けるなどすれば
かなり負担が減りそうな気がします。
[PlayerMove.bmp]
[PlayerAttackA.bmp]
[PlayerAttackB.bmp]
といった感じです。
画像の中身自体は↓このような感じで
http://gyazo.com/7b76242b8846832b8e7f7dd63aa49e53
ひとつのモーションの全てのコマをひとつの画像内に横や縦に並べた物を用意します。
これをプログラム上で動かす場合、
PlayerAnimePatternという変数があるとして、
その変数にプレイヤーのアニメーションパターンを
プレイヤーの挙動を処理している部分で、挙動に応じて代入します。
そして表示部分のプログラムで、
gmode 4, 480, 320, 256
gcopy *, 480 * PlayerAnimePattern, 320
などという風に記述すれば、
PlayerAnimePatternに代入された変数に応じたアニメーション番号が表示できます。
もしこれらが煩わしいということであれば、
celdivおよびdelputという命令を使うと楽に扱えます。
こちらはサンプルも用意されているのでヘルプをご覧下さい。
なぜこの方法をお勧めしているかというと、
私の環境で 100x100 の画像ファイル(bmp)を、
repeat 1000
buffer cnt
picload "test.bmp"
loop
とし、1000回picloadした時より、
100x100,000 の画像ファイル(bmp)を、単純に
buffer 1
picload "test.bmp"
とした時のほうが圧倒的に時間がかからなかったためです。
まあ、バッファを初期化する手間などがないので当たり前なのですが…。
matsueda様の文面から汲み取った限り、
300枚の画像を300個のbufferに読み込んでいるような気がしたので、
このようなレスをさせて頂きました。
もし見当違いな内容であれば申し訳ありません。
参考までに、それぞれの読み込み方法にかかった時間を載せておきます。
■100x100の画像を1,000回読み込んだ場合
726 / 724 / 725 / 723 / 720 / 726 / 722 / 732 / 721 / 724
■100x100,000の画像を1回読み込んだ場合
258 / 178 / 217 / 222 / 184 / 176 / 229 / 188 / 210 / 229
(それぞれの方法で10回試した結果を全て表記しました。
上記数値はミリ秒です。)