これが環境によるものなのか、仕様なのか、スクリプトのミスなのかもよく分かりません。ビデオカードによってオフスクリーンバッファに転送できる画像のサイズが違ったりするようですが、その場合は転送ミスを調べるスクリプトに引っかからないのでしょうか。
;初期化---------------------------------------------------- #include "hspdxfix.as" #include "hsp3util.as" es_ini 100,100,360:es_screen 640,480,32,,1,1 screen 0,640,480,0 if stat : dialog"HSPDXFIX : DirectXの初期化に失敗":end *start gsel 0:mmstop:es_cls:es_draw:es_sync:wait 100 ;-------------------- moji="☆","★" msx=2048;←画像のサイズ msy=2048 f=0 *md buffer 2+f,msx+f,msy;msx+fなのはHSP側のスクリーンのサイズが影響しているのかどうか確かめる為 gsel 2+f cls 4 color 255,255,255 mx=0:my=0 *md_l pos mx*16,240 mes moji(f) if mx<msx / 16:mx+=1:goto *md_l es_buffer 2+f,0,$FFFFFF,,1 ;転送失敗時 if stat=1 { es_bye dialog "転送に失敗しました。",1,"Error" end } if f<1{f++:goto *md} w_x=0:w_y=0:d=0 ;----------メインルーチン---------- repeat getkey l,37:getkey r,39;方向キーで左右に移動 w_x+=(r*5)-(l*5) if w_x<=0:w_x=0 if w_x>=msx-640:w_x=msx-640 getkey esc,27;escで終了 if esc=1:es_bye:end getkey c,67;cを押下する度に描画するオフスクリーンバッファを変更 d+=c if d>1:d=0 ;------------描画------------ gsel 0 pos 0,0 es_cls es_excopy 2+d,w_x,w_y,640,480 es_draw es_sync 16 ;------------------------------------ wait 5 loop