過去ログを検索しましたが同じような事象が見当たらなかったため、質問させていただきます。
マルチになってしまいましたら申し訳ありません。
趣味でゲームを作成しようとしているのですが、
DrawString関数などを使うたびに色コードを取得する手間を省こうと考えています。
そこで下記のようにコードを記述しました。
【head.h】
#include "DxLib.h"
//色の設定
const int WHITE = GetColor(255, 255, 255);
【main.cpp】
#include "head.h"
int WINAPI WinMain(HINSTANCE hI, HINSTANCE hP, LPSTR lpC, int nC)
{
//ウィンドウモードの切り替え
ChangeWindowMode (TRUE);
//DXライブラリの初期化
if (DxLib_Init() == -1) return (-1);
//描画スクリーンを裏に設定
SetDrawScreen( DX_SCREEN_BACK );
while (ProcessMessage() == 0 && CheckHitKey ( KEY_INPUT_ESCAPE ) == 0 )
{
ClsDrawScreen();
//文字列を白で描画
DrawString(5, 5, "テストメッセージ", WHITE);
ScreenFlip();
}
DxLib_End(); //DXライブラリの終了処理
return (0);
}
このプログラムを実行しますと文字色が「白」で表示されず、「黒」で表示されてしまいます。一応確認してみましたところ、変数WHITEの中身は「0」となっていました。
DrawString関数の直前でヘッダファイルの中身と同じ記述をすると文字列は「白」で表示されます。
なぜ変数WHITEの中身が「0」になってしまうのかわかりません。
ヘッダファイルで宣言している変数WHITEは定数にならないのでしょうか?
C言語、C++言語の基礎は理解しているつもりなのですが…
どなたかご教授お願いします。