〜 グラフィック 〜
カレントカラーを取得

通常は、変えたい色に設定するだけで、あえて今設定されている色を取得する必要はありませんが、
例えば、モジュール内で、現在の設定色を取得する必要がある場合は必要になることでしょう。
それは色を取得することが目的でなく、モジュール内で一時的に色を変更する必要があり、
変更した後、元の色に戻す処理で使用する、などです。
カレントカラーは、BMSCR構造体の要素40にRGB各輝度が格納されています。
赤輝度は下位8(1〜8)ビット、緑輝度は中8(9〜15)ビット、青輝度は上位8(16〜24)ビットです。
尚、HSP3からは、ginfo_rginfo_gginfo_bから取得できるようになっています。
	
 1
 2
 3
 4
 5
 6
 7
 8
	mref bmscr, 67 // BMSCR構造体を割り当てる
	dialog "", 33
	color rval, gval, bval    // 選択色を設定する
	r = bmscr.40 >>  0 & 0xFF // 現在の赤輝度を取得
	g = bmscr.40 >>  8 & 0xFF // 現在の緑輝度を取得
	b = bmscr.40 >> 16 & 0xFF // 現在の青輝度を取得
	mes "R:" + r + "\nG:" + g + "\nB:" + b
	stop
 1
 2
 3
 4
 5
	mref bmscr, 67 // BMSCR構造体を割り当てる
	dialog "", 33
	mes "R:" + (bmscr.40 >>  0 & 0xFF) // 現在の赤輝度を表示(ginfo_rと同じ)
	mes "G:" + (bmscr.40 >>  8 & 0xFF) // 現在の緑輝度を表示(ginfo_gと同じ)
	mes "B:" + (bmscr.40 >> 16 & 0xFF) // 現在の青輝度を表示(ginfo_bと同じ)