第17章 画像の表示〜後半〜


前回の続きで、画像の表示に関することを学びます。

前の章で使った↑の画像を持っていない人は保存しておいてください。
では、次のプログラムを見てください。
	buffer 2
	picload "program001.bmp"
	gsel 0,1

	color 0,0,0:boxf
	pos 300,200:gcopy 2,0,0,32,32
	stop

実行すると、青い背景の真ん中に画像が表示されますが、
"program001.bmp"の白い背景の部分が表示されてしまって少し変ですね。
そこで、次のプログラムをご覧ください。
	buffer 2
	picload "program001.bmp"
	gsel 0,1

	color 0,0,0:boxf
	color 255,255,255:gmode 4,0,0,256	;白を透明化
	pos 300,200:gcopy 2,0,0,32,32
	stop

新しくgmode命令が登場しています。
この命令は、gcopyで使用されるモードを選択するときに使います。

gcopy p1,p2,p3,p4

まず、p1の部分で使用するモードを指定します。

p1が0なら通常モード。gmode命令でモードを変更していない最初の状態ではこれになっています。
p1が2なら透明色付きモードです。RGBが0,0,0の色は透明色と見なされてコピーされません。
p1が3なら半透明モードです。半透明の度合いはp4で指定します(透明←0〜256→通常)
p1が4なら透明色付き半透明モードです。半透明モードと同じようにp4で数値を指定して半透明にできる他、
color命令で指定された色は透明色と見なされてコピーされません。

よく使うモードはこの4つだと思います。
p2とp3はコピーサイズの指定ですが、gcopyでもサイズは指定できますので、
特に指定する必要はありません。

今回の例では、color命令で白を指定されてからgmode 4,0,0,256としていますので、
白い部分は表示されません。p4の部分には256が指定されているので、半透明にはなりません。
この256という数値を変えてみてください。半透明で表示されて面白いと思いますよ(*^^)

この章では、ゲーム製作に欠かせない、画像表示について学びました。
次の章で習う、音楽や効果音の再生もゲーム製作に役立ちますので是非ご覧ください。
第18章

戻る