絵を動かす

〜絵を動かす〜

まず絵を動かすといっても方法はgcopyを使います。
gcopyはバッファー画面に読みこんだ画像を
gcopy命令で範囲を決めて画面に表示させます。
gcopyの命令とパラメーター

〜buffer〜

さて先ほどバッファー画面に読みこんだ。
と言いましたがバッファー画面とはなんだ?
と思ってる人が多いと思います。

バッファーとは見えない画面のことを指します
けれど見えない画面になにおするんだ!!と思う
人もいるでしょう。
けれどバッファー画面に絵を読みこんでgcopy
命令で読みこんだ画像を範囲をきめて表示させる。
この二つの命令を組み合わればさまざまな事ができます。
さてきになるbuffer命令のパラメーターは

命令 buffer

パラメーター 0〜31(ウインドウID),0〜(X画面サイズ),0〜(Y画面サイズ),0〜1,初期化する画面モード。

最後の初期化する画面モードは、0が特に無し?で、1がが256色モードです。

〜gcopy〜

gcopy命令は先ほど説明したとうりです。
ここでは使い方を説明します。

命令 gcopy
パラメーター 0〜31(ウインドウID),0〜(コピー元の左上のX値) 0〜(コピー元の左上のY値)0〜(コピーする範囲のX値)0〜(コピーする範囲のY値)

けれどこれだけではgcopy命令を使う前に必要な設定があります。
それはgmode命令です。
これに関しては詳しい説明はしません。

命令 gmode
ステータス 0〜6(0=通常コピー、1=メモリ間コピー、 2=透明色コピー{R0,B0,G0が透明になる})

詳しく知りたければヘルプを見ればいいでしょう。
後はpos命令でカレントポジションを買えればOKでしょう。

さて後はサンプルスクリプトを見ればbuffer,gmode,gcopy
使えるようになるでしょう。

	buffer 3,,,1
	picload "10b.jpg"
	screen 0,640,480,1
	gmode 0
	repeat
	cls
	pos x,y
	gcopy 3,0,0,100,100
	x+=1
	y+=1
	wait 1
	loop

〜redraw〜

さてさきほど書いたサンプルスクリプトを実行したらわかると思いますが
画面がちらつきます。
redraw命令は描画関係の制御をする命令です。
仮想画面に描画された物を実際の画面に反映すると言う命令です。

命令 redraw
パラメーター 0〜3(0=仮想画面に描画される、1=仮想画面に描画された物が実際の画面にも反映します。)

さてこれを使ってさきほどスクリプトを改造しましょう。

	buffer 3,,,1
	picload "画像名"
	screen 0,640,480,1
	gmode 0
	repeat
	redraw 0
	screen ,,,1
	pos x,y
	gcopy 3,0,0,100,100
	x+=1
	y+=1
	redraw 1
	await 1
	loop
これであなたはもう画像の表示関係は習得しました。
さらに条件分岐を使ってさまざまな事が出来ます。

長い時間お付き合い有り難う御座いました、もしスクリプトの命令のミス
や間違えている点などがありましたらken9ball@k9.dion.ne.jpまで
メールを送ってください。

BACK