プログラムの問題なのか画像の問題なのか分かりません。
;ウィンドウの大きさ、1=1倍、2=2倍 wsize=1 ;ウィンドウサイズ指定 dialog "2倍で表示しますか?",2 if stat=6:wsize=2;はいが押されたら2倍に。 dialog "マップ1で表示しますか?",2 buffer 5 if stat=6{ picload "map.bmp" ;マップ画像 }else{ picload "map2.bmp" ;マップ画像 } buffer 2 ;バッファ buffer 7 : picload "char.bmp" ;キャラ画像 buffer 3,480,480 ;マップ repeat 841 pos x*16,y*16 if t=0{ gcopy 5,0,0,16,16 t=1 }else{ gcopy 5,16,0,16,16 t=0 } x++ if x=29:x=0:y++ loop ;拡大用 buffer 10,240,240 ;メインウィンドウ screen 0,240*wsize,240*wsize //初期状態 cx=12 cy=12 *メイン stick key,15 gosub *マップ描画 gosub *キャラ移動 gosub *キャラ描画 gsel 10 gmode 0 color:boxf pos 0,0 gcopy 2,((cx*16)-112)+tx,((cy*16)-112)+ty,240,240 gosub *描画 await 32 goto *メイン *キャラ移動 ;-------移動処理------- if movecnt=0{ if key&15{ //縦横移動 // 左:1, 上:2, 右:4, 下:8 if key=1:movex=-1 if key=2:movey=-1 if key=4:movex=1 if key=8:movey=1 } } if movecnt=0{ if (movex!=0)or(movey!=0):movecnt=16 } if movecnt!=0{ // 左:1, 上:2, 右:4, 下:8 if movex=-1:tx-=2 if movey=-1:ty-=2 if movex=1:tx+=2 if movey=1:ty+=2 movecnt-=2 if movecnt=0{ cx+=movex cy+=movey movex=0 movey=0 tx=0 ty=0 } } return *キャラ描画 ;描画 gsel 2 gmode 2 pos (cx*16)+tx,(cy*16)+ty gcopy 7,0,0,16,16 return *マップ描画 gsel 2 gmode 0 pos 0,0 gcopy 3,0,0,480,480 return *描画 gsel 0 gmode 0 pos 0,0 redraw 0 if wsize=1{ gcopy 10,0,0,240,240 }else{ gzoom 240*wsize,240*wsize,10,0,0,240,240 } redraw 1 return
※問題となるプログラムから関係する箇所だけ抜き出しています。
※下記から問題となるソース+画像入りをダウンロードできます。
http://vel.go2.jp/test090303.zip
画面サイズのダイアログの次に出てくるダイアログで”はい”を選ぶとチラチラします。
”いいえ”を選ぶとチラチラしないという結果が出ます。
どういう事か説明ないし改善点がありましたらお願いします。