extern宣言の不備が原因と思いますが、どのように修正すればよいのでしょうか。
ソースはソフト屋さんのRPG講座の利用になります、よろしくお願いします.
WinMain.cpp
#include "DxLib.h"
#include "WinMain.h"
#include "Common.h"
#include "Keyboard.h"
#include "GameMain.h"
GameState_t GameState;
//---------------------------------------------------------------------------------------------------------
// WinMain関数
//---------------------------------------------------------------------------------------------------------
int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow )
{
//-----------------------------------------------------------------------------------------------------
// 初期化
//-----------------------------------------------------------------------------------------------------
// ウィンドウモード
ChangeWindowMode( TRUE );
// タイトル
SetMainWindowText( GAME_TITLE_STR );
// 画面の解像度の設定
SetGraphMode( SCREEN_X, SCREEN_Y, 32 );
// DXライブラリの初期化を裏画面に設定
if( DxLib_Init() == -1 || SetDrawScreen(DX_SCREEN_BACK)!=0 ) return -1;
// ゲームの各種値を初期化
GameState = GAME_STATE_TITLE;
//-----------------------------------------------------------------------------------------------------
// メインループ
//-----------------------------------------------------------------------------------------------------
while(ProcessMessage()==0 && ClearDrawScreen()==0 )
{
Keyboard_Update();
switch( GameState )
{
case GAME_STATE_TITLE:
DrawString( 0, 0, "タイトル z -> LOAD", WHITE );
if( KeyBuf( KEY_INPUT_Z ) == 1 ) GameState = GAME_STATE_LOAD;
break;
case GAME_STATE_LOAD:
DrawString( 0, 0, "ロード画面 x - > ", WHITE );
if( KeyBuf( KEY_INPUT_X ) == 1 ) GameState = GAME_STATE_TITLE;
break;
case GAME_STATE_MAIN:
GameState = GameMain();
break;
}
ScreenFlip();
}
DxLib_End();
return 0;
}
#pragma once
//---------------------------------------------------------------------------------------------------------
// 定数
//---------------------------------------------------------------------------------------------------------
// ウィンドウタイトルの定義
#define GAME_TITLE_STR "SyrkのRPG"
// 画面サイズの定義
#define SCREEN_X 640
#define SCREEN_Y 480
// ゲーム全体の状態遷移
typedef enum GameState_t{
GAME_STATE_TITLE,
GAME_STATE_LOAD,
GAME_STATE_MAIN,
GAME_STATE_GAMEOVER,
GAME_STATE_ENDING
};
extern GameState_t GameState;
#include "DxLib.h"
#include "GameMain.h"
#include "Keyboard.h"
#include "WinMain.h"
#include "Common.h"
GameState_t GameMain()
{
DrawString( 0, 0, "ゲーム本編", WHITE );
if( KeyBuf( KEY_INPUT_Y ) != 0 ) return GAME_STATE_TITLE;
return GAME_STATE_LOAD;
}