Last Update : 2007/11/xx
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