せっかくの5日間の休みだったというのに時間に追われてほとんど何もできていない…OTL
そしてタイトルにある最近ハマっていること
それは…「シングルトン・クラス」なるものを作って使う事
なんか一つしかインスタンスのないことが保証されているクラスのようだけれど、どのcppファイルから呼び出しても「一つしかない」ようで超便利。
特に管理クラスや、入出力関係のクラスによく使っています。
なんかmainのファイルのコードがものすごく小さくなった
#include "DxLib.h"
#include "Game.h" //ゲームの内部計算は全部こいつがやる
#include "InputManager.h" //キー入力の管理を行うクラス
#include "Graphics.h" //画面への出力は全部こいつ
int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance,LPSTR lpCmdLine, int nCmdShow ){
ChangeWindowMode( TRUE );
if( DxLib_Init() == -1 ) return -1;
if(DxLib_Init() == -1 || SetDrawScreen( DX_SCREEN_BACK )!=0) return -1;
if( !Game::Create() ) return -1; //Gameクラスのインスタンス作成
while(ProcessMessage()==0 && !Game::Instance()->isEnd()){ //ゲームが終了していない限りは
InputManager::Instance()->Update(); //キー入力の更新
Game::Instance()->Update(); //ゲームの内部計算の更新
Graphics::Instance()->Update(); //グラフィック処理の更新
ScreenFlip();
}
Game::Release(); //Gameクラスのインスタンスの削除
DxLib_End();
return 0 ;
}
一つは最初から実体が確保されている形式(この場合のInputManagerとGraphics)
もうひとつはCreateで作成してReleaseで開放するタイプ(この場合のGame)
内部で確保するメモリが大きいのにいつも使うわけではないシングルトンクラスは後者で作っています。(Gameが後者なのは中身の対称性を保つためです)
…新しいことを覚えるとすぐに使ってしまいたくなる性質の人間なんです。