質問させて頂きます。
画面上でキャラを移動させたいが為に、時間の関数を用いたのですが、
浅はかな知識故に、使い方が間違っているのか、どこをどういじっても動きません。
何かが欠けているのはわかるのですが、ディスプレイとの睨めっこで終了してしまいます。
時間の経過に伴い、X座標を加算していき、
キャラを移動させたいのですが、動きません。
ご教授頂けたら幸いです。。
#include "DxLib.h"
#define speed 3.0 //速さは不変
int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance,
LPSTR lpCmdLine, int nCmdShow )
{
ChangeWindowMode( TRUE );
char KeyBuf[256];
int GrHandle[16];
double player_X = 0;
int player_Y = 0;
int StartTime ;
double t = 0;
if( DxLib_Init() == -1 ) return -1;
while( 1 )
{
//キャラを表示
LoadDivGraph( "char.png" , 16 , 4 , 4 , 32 , 32 , GrHandle );
//現在時刻を取得
StartTime = GetNowCount();
while( 1 )
{
//開始経過時間を得る
t = (double)(GetNowCount() - StartTime )/1000.0;
//座標位置 = 速さ * 時間
player_X = speed * t;
//キャラを移動
DrawGraph( player_X , player_Y , GrHandle[1] , TRUE );
break;
}
/*
GetHitKeyStateAll( KeyBuf );
if( KeyBuf[ KEY_INPUT_LEFT ] == 1 ) player_X --;
if( KeyBuf[ KEY_INPUT_RIGHT ] == 1 ) player_X ++;
if( KeyBuf[ KEY_INPUT_UP ] == 1 ) player_Y --;
if( KeyBuf[ KEY_INPUT_DOWN ] == 1 ) player_Y ++;
*/
if( ProcessMessage() == -1 ) break;
}
DxLib_End();
return 0;
}