アットウィキロゴ
TNP資料室 @ ウィキ
掲示板 掲示板 ページ検索 ページ検索 メニュー メニュー

TNP資料室 @ ウィキ

ファイル分割をする

最終更新:

kokeiro

- view
だれでも歓迎! 編集
 ファイル分割?を行おうと思います。
 まずはヘッダーファイル?を追加、作成します。

  1. 『ソリューションエクスプローラ』の『ヘッダーファイル』を右クリック、追加から新しい項目を選択します。
  2. テンプレートにあるヘッダーファイルを選択し、ファイル名を『main』とし、場所を先ほどと同じ『sorce』を選択し、追加してください。

これで『main.h』が追加されました。次にインクルードガード?とDXライブラリのインクルード文と関数のプロトタイプ宣言?を書き足します。

main.h

#ifndef _MAIN_H_
#define _MAIN_H_

// DXライブラリをインクルードする
#include"DxLib.h"

// 関数のプロトタイプ宣言
void MainLoop();
void ProcessTitle();
void ProcessGameMain();
void ProcessGameClear();
void ProcessGameOver();
void GetKeyInput( int *KeyBuf );
void LoadFiles();
void ChangeGameState( int NewGameState );

#endif

書き足したぶんだけ、main.cppから項目を削除します。

main.cpp

// インクルードファイルが変わっていることに注意
#include"main.h"

int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance,LPSTR lpCmdLine, int nCmdShow ){
	ChangeWindowMode(TRUE);
	if(DxLib_Init()==-1)
		return 1;
	SetDrawScreen(DX_SCREEN_BACK);

	int green = GetColor( 0 , 255, 0 );

	while(1){
		if( ProcessMessage() != 0 || CheckHitKey( KEY_INPUT_ESCAPE ) != 0 )
			break;
		ClearDrawScreen();

		DrawString( 0 , 0 , "Helllo World!" , green );

		ScreenFlip();
	}
	DxLib_End();
	return 0;
}

void MainLoop(){}
void ProcessTitle(){}
void ProcessGameMain(){}
void ProcessGameClear(){}
void ProcessGameOver(){}
void GetKeyInput( int *KeyBuf ){}
void LoadFiles(){}
void ChangeGameState( int NewGameState ){}


 ここから一気に進めます。「main.cpp」を追加したときと同じように、ソリューションエクスプローラのソースフォルダに「title」「gameMain」「gameClear」「gameOver」「other」を『sorce』フォルダに追加、以下のように書き換えてください。

title.cpp

#include"main.h"
void ProcessTitle(){}

gameClear.cpp

#include"main.h"
void ProcessGameClear(){}

gameOver.cpp

#include"main.h"
void ProcessGameOver(){}

gameMain.cpp

#include"main.h"
void ProcessGameMain(){}

other.cpp

#include"main.h"
void GetKeyInput( int *KeyBuf ){}
void LoadFiles(){}
void ChangeGameState( int NewGameState ){}

main.cpp

#include"main.h"

int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance,LPSTR lpCmdLine, int nCmdShow ){
	ChangeWindowMode(TRUE);
	if(DxLib_Init()==-1)
		return 1;
	SetDrawScreen(DX_SCREEN_BACK);

	int green = GetColor( 0 , 255, 0 );

	while(1){
		if( ProcessMessage() != 0 || CheckHitKey( KEY_INPUT_ESCAPE ) != 0 )
			break;
		ClearDrawScreen();

		DrawString( 0 , 0 , "Helllo World!" , green );

		ScreenFlip();
	}
	DxLib_End();
	return 0;
}

void MainLoop(){}


 ビルド、実行が出来たでしょうか?動作は一切変わっておりません。面白くありませんね。

タグ:

+ タグ編集
  • タグ:
最近更新されたスレッド
ウィキ募集バナー