命令講座 <color命令>

Last Update : 2007/11/xx

color命令 (色の指定)

 HSPで色(カラー)を指定する命令です。命令名の由来はそのまま「color」から。

 color 赤の輝度, 緑の輝度, 青の輝度

 第1パラメータには赤(red)の輝度、第2パラメータには緑(green)の輝度、第3パラメータには青(blue)の輝度の数値を指定します。範囲はそれぞれ0〜255です。省略した場合は0を指定したことになります。RGB値は「光の三原色」です。

 逆に指定されてる色を取得するには、ginfo関数(タイプ16〜17)か、マクロ定義のginfo_r、ginfo_g、ginfo_bを利用します。

 この命令で色を反映させることができるのは、文字を描画するmes命令(print命令)、1ドットの点を描画するpset命令、1本線を描画するline命令、四角形を描画するboxf命令といったところです。HSP3では、円を描画するcircle命令、回転した四角形を描画するgrect命令も含まれます。

 ボタンやリストボックスやメッセージボックスのようなオブジェクトの背景色・文字色、各種ダイアログボックスを表示するdialog命令の文字色は変更することはできません。オブジェクトに関しては、Win32 API関数を駆使して実現できるものもあります(HSP3 あれこれ オブジェクト編のページ参照)。

^

サンプルスクリプト

 適当なサンプルスクリプト。文字を描画するmes命令

	color 255
	mes "あか"

	color , 255
	mes "みどり"

	color , , 255
	mes "青"
	color
	mes "くろ"

	boxf 0, 50, 50, 100

	color 255, 255, 255
	pos , 50
	mes "しろ"

 図形の描画命令。

	repeat 256
		color 255 - cnt
		line 0, cnt, 100, cnt

		color , 255 - cnt
		line 100, cnt, 200, cnt

		color , , 255 - cnt
		line 200, cnt, 300, cnt
	loop

	repeat 50
		color 255 - cnt * 4
		circle 0 + cnt, 300 + cnt, 100 - cnt, 400 - cnt

		color , 255 - cnt * 4
		circle 100 + cnt, 300 + cnt, 200 - cnt, 400 - cnt

		color , , 255 - cnt * 4
		circle 200 + cnt, 300 + cnt, 300 - cnt, 400 - cnt
	loop

^

Copyright c 2005-2008 HSP情報サイト Let's HSP!. All rights reserved.