LoadGraphのフラグ管理の方法

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

LoadGraphのフラグ管理の方法

#1

投稿記事 by Eli's » 14年前

この度もお世話になります。

多重ロードを防ぐ為にIF文を使って始めの1ループ目だけLoadGraph処理するようにしたいのですが、エラーになってしまいます。

疑問点は「なぜエラーになるのか」です。

アドバイスをお願い致します。


下記がその問題のソースファイル全文です。(メインループ(別ソースファイル)から下記の関数を呼び出す構成になっています)

コード:

#include "glhensu.h"

int flag = 1;

void FIRSTMENU(){

	//背景表示/////////////////////////////////////////////
	if( flag == 1 ){
		int taitl ;
		taitl = LoadGraph( "背景/タイトル.png");
		flag ++;
	}
	DrawGraph( 0, 0, taitl, TRUE );

	//ゲーム状態遷移////////////////////////////////////////
	if(CheckStateKey(KEY_INPUT_Z)==1)
	    GAMESTATE = 1;

}
エラー内容:'taitl' : 定義されていない識別子です。

なお、下記のように背景表示の部分で、IF文を除去した場合はコンパイルできることを確認済みです。(多重ロードになりますが)

コード:

//背景表示/////////////////////////////////////////////
	int taitl ;
	taitl = LoadGraph( "背景/タイトル.png");

	DrawGraph( 0, 0, taitl, TRUE );

アバター
h2so5
副管理人
記事: 2212
登録日時: 15年前
住所: 東京
連絡を取る:

Re: LoadGraphのフラグ管理の方法

#2

投稿記事 by h2so5 » 14年前

if文の中で宣言した変数はif文の中でしか使えません。
if文の外でtaitl を宣言する必要があります。

Eli's

Re: LoadGraphのフラグ管理の方法

#3

投稿記事 by Eli's » 14年前

ご指示頂いた通りの方法でコンパイルできました。有難うございます。

現在C++でゲーム作成にチャレンジ中なんですが、プロトタイプ宣言、グローバル変数、ヘッダの使い方等、主に宣言に関することでコケまくっている所でして本当に参考になりました。

閉鎖

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