〜 グラフィック 〜
フェードイン

ゲームや映像での場面切り替えをする時に使用する画面効果の1つ、フェードインを行うサンプルです。
フェードインとは、画像を徐々に表示していく画面効果のことを指し、
白一色から表示していくのをホワイトイン、黒一色から表示していくのをブラックインと呼びます。
下記のサンプルでは、カレントカラーを当初の塗りつぶし色として、
カレントポジションにバッファIDの画像を最終表示画像として徐々に表示していくものです。
逆のフェードアウトについてはコチラのサンプルを参照してください。
	

fadein 読込元バッファ, X座標, Y座標, 横幅, 高さ, 回数, 速度
読込元バッファコピーするウィンドウIDを指定する
X座標コピーする画像の基点X座標指定する
Y座標コピーする画像の基点Y座標指定する
横幅コピーするX方向のサイズを指定する
高さコピーするY方向のサイズを指定する
回数完全に表示するまでの繰り返し回数を指定する
速度徐々に表示する1コマの時間(wait命令同様の10ミリ秒単位)を指定する

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#module
#deffunc fadein int, int, int, int, int, int, int
	mref id, 0 : mref px, 1 : mref py, 2 : mref sx, 3 : mref sy, 4 : mref times, 5 : mref sp, 6
	if times > 0 {
		repeat times
			redraw 0
			gmode 3, sx, sy, 256 * cnt / times
			boxf csrx, csry, csrx + sx, csry + sy
			gcopy id, px, py
			redraw 1
			wait sp
		loop
	}
	gmode 1, sx, sy
	gcopy id, px, py
	return
#global

	buffer 2
	picload "sample/hspdx/hspdx.bmp"
	wx = winx : wy = winy
	gsel 0
	title "徐々に画像をホワイトインします。"
	color 255, 255, 255
	fadein 2, , , wx, wy, 5, 10 // 1コマ10ミリ秒、5回で完全消去
	stop

fadein 読込元バッファ, X座標, Y座標, 横幅, 高さ, 回数, 速度
読込元バッファコピーするウィンドウIDを指定する
X座標コピーする画像の基点X座標指定する
Y座標コピーする画像の基点Y座標指定する
横幅コピーするX方向のサイズを指定する
高さコピーするY方向のサイズを指定する
回数完全に表示するまでの繰り返し回数を指定する
速度徐々に表示する1コマの時間(wait命令同様の10ミリ秒単位)を指定する

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#module
#deffunc fadein int id, int px, int py, int sx, int sy, int times, int sp
	if times > 0 {
		repeat times
			redraw 0
			gmode 3, sx, sy, 256 * cnt / times
			boxf ginfo_cx, ginfo_cy, ginfo_cx + sx, ginfo_cy + sy
			gcopy id, px, py
			redraw 1
			wait sp
		loop
	}
	gmode 1, sx, sy
	gcopy id, px, py
	return
#global

	buffer 1
	picload "sample/demo/logop.bmp"
	wx = ginfo_winx : wy = ginfo_winy
	gsel 0
	pos 10, 10 : mes "徐々に画像をブラックインします。"
	color
	pos 50, 50 : fadein 1, , , wx, wy, 50, 1 // 1コマ1ミリ秒、50回で完全表示