#include "DxLib.h" #include "globals.h" #include "input.h" #include "Vector2D.h" //ファイルの中だけで使えるグローバル変数 namespace { const int BGCOLOR[3] = {255, 250, 205}; // 背景色{ 255, 250, 205 }; // 背景色 int crrTime; int prevTime; float atTime;//フレーム間時間表示用の変数 Vector2D a(0, 0); Vector2D b(50, 0); } float gDeltaTime = 0.0f; // フレーム間の時間差 void DxInit() { ChangeWindowMode(true); SetWindowSizeChangeEnableFlag(false, false); SetMainWindowText("TITLE"); SetGraphMode(WIN_WIDTH, WIN_HEIGHT, 32); SetWindowSizeExtendRate(1.0); SetBackgroundColor(BGCOLOR[0],BGCOLOR[1],BGCOLOR[2]); // DXライブラリ初期化処理 if (DxLib_Init() == -1) { DxLib_End(); } SetDrawScreen(DX_SCREEN_BACK); } void MyGame() { DrawFormatString(100, 100, GetColor(0, 0, 0), "ウィンドウのテスト"); static int timer = 0; timer++; DrawFormatString(100, 150, GetColor(0, 0, 0), "%010d", timer); } //ゲーム内容の初期化 void Initialize() { atTime = 0.0f; } //ゲーム内容の更新 void Update() { atTime = gDeltaTime; //フレーム間時間 } //ゲーム内容の描画 void Draw() { //atTimeを表示 DrawFormatString(100, 50, GetColor(0, 0, 0), "%8.3lf", atTime); DrawFormatString(100, 100, GetColor(20, 255, 20), "a点:(%5.2lf, %5.2lf)", a.x, a.y); DrawFormatString(100, 130, GetColor(20, 255, 20), "b点:(%5.2lf, %5.2lf)", b.x, b.y); //Vector2D tmpを宣言して a+bのベクトルを表示 //aとbの距離を表示 } int WINAPI WinMain(_In_ HINSTANCE hInstance, _In_opt_ HINSTANCE hPrevInstance, _In_ LPSTR lpCmdLine, _In_ int nCmdShow) { DxInit(); crrTime = GetNowCount(); prevTime = GetNowCount(); Initialize(); while (true) { ClearDrawScreen(); Input::KeyStateUpdate(); // キー入力の状態を更新 crrTime = GetNowCount(); // 現在の時間を取得 // 前回の時間との差分を計算 float deltaTime = (crrTime - prevTime) / 1000.0f; // 秒単位に変換 gDeltaTime = deltaTime; // グローバル変数に保存 //ここにやりたい処理を書く Update(); Draw(); ScreenFlip(); WaitTimer(16); prevTime = crrTime; // 現在の時間を前回の時間として保存 if (ProcessMessage() == -1) break; if (CheckHitKey(KEY_INPUT_ESCAPE) == 1) break; } DxLib_End(); return 0; }