正直、ずっと前に記事を上げてたと思ってました。。
構成
設定して終わり
特に説明もないです。あとこれが正解かどうかは分かりません。自分がよくやっているというだけです。
#include "DxLib.h"
#include <string>
/// --------------------------------------------------------------------------------------------------
// ウィンドウサイズを決める
int winWidth = 0;
int winHeight = 0;
int bitColor = 0;
/// --------------------------------------------------------------------------------------------------
bool Init(const int t_winWidth, const int t_winHeight, const int t_bitColor, std::string t_projectName)
{
winWidth = t_winWidth;
winHeight = t_winHeight;
bitColor = t_bitColor;
#ifdef _DEBUG
SetOutApplicationLogValidFlag(TRUE); // ログテキスト出力する
#elif NDEBUG
SetOutApplicationLogValidFlag(FALSE); // ログテキスト出力しない
#endif
SetWindowText(t_projectName.c_str()); // メインウインドウのウインドウタイトルを変更する
SetBackgroundColor(0, 0, 0); // 背景色を白に変更
ChangeWindowMode(TRUE); // ウィンドウズモードにさせる
SetGraphMode(winWidth, winHeight, bitColor); // 画面サイズ設定
GetDefaultState(&winWidth, &winHeight, &bitColor); // デフォルトウィンドウ値を得る
SetWindowSize(winWidth, winHeight); // デフォルトウィンドウサイズに合わせてゲームサイズを変更
// DXライブラリ初期化処理
if (DxLib_Init() == -1)
{
return false; // エラーが起きたら直ちに終了
}
SetDrawScreen(DX_SCREEN_BACK); // 背景描画
return true;
}
/// --------------------------------------------------------------------------------------------------
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{
if (Init(1920, 1080, 32, "Game") == false) return -1;
メインループの最初のところまで載せました。これでDxLib関係の初期化は出来ます。
なんとなく、自分はリリースしたゲームに対してログを排出するのがなんか気に入らなかったのでしないようにしています。
あと、補足的な話ですが、フルスクリーンではなく小さいウィンドウにしたい場合は、
SetWindowSize(winWidth, winHeight); // デフォルトウィンドウサイズに合わせてゲームサイズを変更
の中身を変えれば良いだけです。
あと、
SetDrawScreen(DX_SCREEN_BACK); // 背景描画
はここで呼ばなくてもいいと思います。それは任意。