GetColorが失敗?

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら

GetColorが失敗?

#1

投稿記事 by » 16年前

はじめまして、糖と申します。
過去ログを検索しましたが同じような事象が見当たらなかったため、質問させていただきます。
マルチになってしまいましたら申し訳ありません。

趣味でゲームを作成しようとしているのですが、
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++言語の基礎は理解しているつもりなのですが…

どなたかご教授お願いします。

バグ

Re:GetColorが失敗?

#2

投稿記事 by バグ » 16年前

たしか、DXライブラリの関数は、DxLib_Init関数を実行した後でないと使用できないはずですよ(^_^;)

Re:GetColorが失敗?

#3

投稿記事 by » 16年前

バグさん>
「DXライブラリ置き場」の使い方の説明を読んでみましたところ、
バグさんの仰る通り"DXライブラリの関数を使用するためにDxLib_Init関数を呼び出す"との記述がありました。

DXライブラリを使う上で基本的というかそれ以前の問題でした…
こんな質問に答えてくださってありがとうございました!!

閉鎖

“C言語何でも質問掲示板” へ戻る