色の祭典 ディスプレイ画面に表示される色の美しさを味わってみよう

DrawBox関数の第5引数に色コード(整数値)を用いて 赤や白や黄色などの四角形を表示してみましょう 色コードはGetColor関数で取得することもできます

ソーラー「さあて


いま どのへんだったかな?



#include "DxLib.h"


int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)

{



ChangeWindowMode(TRUE); // ウインドウモードに設定します


if (DxLib_Init() == -1) // DXライブラリを初期化処理しています

{

return -1; // DXライブラリの初期化に失敗したら直ちにプログラムを終了します

}



DrawBox(200,100,400,280,65535, TRUE);



WaitKey(); //🌞 キーの入力を待っています 何かキーが入力がされるまで これ以上プログラムは実行されません


DxLib_End(); // DXライブラリの使用を終了します DXライブラリの使用しているメモリ領域が解放されます


return 0; // プログラムを終了します

}


プログラムの実行結果

👇


https://solalion.blogspot.com/2021/07/blog-post_10.html


ソーラー「あっ


真ん中らへんに四角形が表示された


いいね


このDrawBox関数の使い方💖」


マックス「ところで


青い四角形ばっかり


表示されてないか


もっと


黄色とか


赤とか


紫とかの


四角形は表示できないのか?」


solarplexuss「ほんとだ


もっといろんな色の四角形を表示したいな」


ソーラー「まかせてよ


DrawBox(200,100,400,280,65535, TRUE);



第5引数

(この場合65535になっていますね)


の数値を変更すれば


表示される四角形の色を色々変えられるんだよ」


soarplexuss「色を色々ね・・・」


マックス「ふ~む


色を色々か・・・」


ソーラー「・・・」



ソーラー「あ~・・・


ところで


DrawBox(200,100,400,280,65535, TRUE);



次のように書き換えることができます


DrawBox(200,100,400,280,GetColor(0 , 0 , 255), TRUE);



マックス「か、かっこええ~


GetColor(0 , 0 , 255)


か・・・


GetColor(0 , 0 , 255)は65535の代わりなのか・・・



GetColor(0 , 0 , 255)


は関数で


GetColor(0 , 0 , 255)を実行すると


戻り値として


GetColor(0 , 0 , 255)に


65535が返される


GetColor(0 , 0 , 255)は65535をあらわすわけだ


だから


65535の代わりに


GetColor(0 , 0 , 255)


を用いることができるんだろう


ふはは😊


この解説・・・

俺って・・

どうだあ


プロいだろう」


ソーラー「ぐぬう


先を越された⁉」


solarplexuss「戻り値って便利だね」


ソーラー「はあ はあ


ぐぬぬ


なんていい説明なんだ


GetColor関数の


第1引数

第2引数

第3引数


それぞれ


0から255までの


数値をとることができます




第1引数



第2引数




第3引数




に対応しています



すべての色は

という

色を構成する基本となる3原色の混ぜ合わせによって表現することができます



第1引数

第2引数

第3引数

の0から255の値は


この


色の3原色である


赤 緑 青


明るさを変更することができます


0は真っ黒

255は一番明るい状態です


このGetColor関数を実行する際に


第1引数

第2引数

第3引数


0から255までの数値を変更して


色の3原色である


赤 緑 青


の混ぜ合わせる割合をかえて


いろんな色を表現することができます


GetColor関数を実行すると


表現した色に対応する


色コードが


GetColor関数に戻り値として返されます


例えば


GetColor( 0, 0, 255) ;


を実行すると


戻り値


65535



戻り値


として


GetColor( 0, 0, 255)


に返されます


つまり


GetColor( 0, 0, 255)



65535


という値を持つことになります


だから


DrawBox(200,100,400,280,GetColor(0 , 0 , 255), TRUE);



DrawBox(200,100,400,280,65535, TRUE);



と等しくなるんだね


この値のことを


            🌞色コード🌞


文字コードが文字の画像データに対応する整数値データだったように


色コードは色のデータに対応する整数値データなんです


色コードを用いることにより


色コードに対応した色を扱うことができるようになります


65535は青のデータに対応する色コードなので


DrawBox(200,100,400,280,65535, TRUE);


を実行すると


青い四角形が表示されるんだ」



マックス「うわあおぅ


いい説明じゃ


いい説明じゃ

いい説明じゃあ~」


solarplexuss「お互い褒めあってる・・・」


ソーラー「で



GetColor( 0, 0, 255 ) は青色に対応する色コード

GetColor( 0, 255, 0 )は緑色に対応する色コード

GetColor( 255, 0, 0 )は赤色に対応する色コード


GetColor( 255, 255, 255 ) は白色に対応する色コード

GetColor( 0, 0, 0 ) は黒色に対応する色コード



GetColor( 255, 255, 0 ) は黄色に対応する色コード

GetColor( 0, 255, 255 ) は水色に対応する色コード

GetColor( 255, 0, 255 )は紫色に対応する色コード



表しています


では


赤色に対応する色コードの値をもつGetColor( 255, 0, 0 )


を用いた


DrawBox(200,100,400,280,GetColor( 255, 0, 0 ), TRUE);


を実行して


赤い四角形を表示してみましょう


そのプログラムはこちらです

👇


#include "DxLib.h"


int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)

{



ChangeWindowMode(TRUE); // ウインドウモードに設定します


if (DxLib_Init() == -1) // DXライブラリを初期化処理しています

{

return -1; // DXライブラリの初期化に失敗したら直ちにプログラムを終了します

}



DrawBox(200, 100, 400, 280, GetColor(255, 0, 0), TRUE);//🍅赤色の四角形を表示します



WaitKey(); //🌞 キーの入力を待っています 何かキーが入力がされるまで これ以上プログラムは実行されません


DxLib_End(); // DXライブラリの使用を終了します DXライブラリの使用しているメモリ領域が解放されます


return 0; // プログラムを終了します

}


プログラムの実行結果はこちらのアドレスからご覧になれます

👇


https://solalion.blogspot.com/2021/07/blog-post_2.html



solarplexuss「うわ あ、あかい・・・


だけど


なんていうか・・・


なんて懐かしい色っていうか


なんか


引き込まれそうな


美しさがあるね


見ていて飽きない・・・」


ソーラー「ほんとだね


これが


ゲーム画面の美しさの根源



なしているのかもしれないね」


solarplexuss「じゃあ


今度は


紫色に対応する色コードの値をもつGetColor( 255, 0, 255 )


を用いて


紫色の四角形を表示してみようかな」


#include "DxLib.h"


int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)

{



ChangeWindowMode(TRUE); // ウインドウモードに設定します


if (DxLib_Init() == -1) // DXライブラリを初期化処理しています

{

return -1; // DXライブラリの初期化に失敗したら直ちにプログラムを終了します

}



DrawBox(200, 100, 400, 280, GetColor(255, 0, 255), TRUE);//🍆紫色の四角形を表示します



WaitKey(); //🌞 キーの入力を待っています 何かキーが入力がされるまで これ以上プログラムは実行されません


DxLib_End(); // DXライブラリの使用を終了します DXライブラリの使用しているメモリ領域が解放されます


return 0; // プログラムを終了します

}



プログラムの実行結果はこちらのアドレスからご覧になれます

👇

https://solalion.blogspot.com/2021/07/blog-post_31.html



solarplexuss「わあ きれいな色だね」






















  • Twitterで共有
  • Facebookで共有
  • はてなブックマークでブックマーク

作者を応援しよう!

ハートをクリックで、簡単に応援の気持ちを伝えられます。(ログインが必要です)

応援したユーザー

応援すると応援コメントも書けます

新規登録で充実の読書を

マイページ
読書の状況から作品を自動で分類して簡単に管理できる
小説の未読話数がひと目でわかり前回の続きから読める
フォローしたユーザーの活動を追える
通知
小説の更新や作者の新作の情報を受け取れる
閲覧履歴
以前読んだ小説が一覧で見つけやすい
新規ユーザー登録無料

アカウントをお持ちの方はログイン

カクヨムで可能な読書体験をくわしく知る