自作ゲーム開発者たちのメンバー募集at GAMEDEV自作ゲーム開発者たちのメンバー募集 - 暇つぶし2ch■コピペモード□スレを通常表示□オプションモード□このスレッドのURL■項目テキスト957:Hiromiti 17/02/16 01:28:31.02 AYiRXhGA.net int型とfloat型の両方を使いましょうか int g_lasttime = 0; float g_frametime = 0; //まずはグローバル変数でint型とfloat型の領域をメモリに確保、初期化は0 g_lasttime = GetNowCount(); //次にGetNowCount関数でint型に現在時刻を取得 while (ProcessMessage() == 0){ //ループ処理開始(内容は省略する) int curtime = GetNowCount(); g_frametime = (float)(curtime - g_lasttime) / 1000.0f; g_lasttime = curtime; //この3行の計算がメイン これでOKだな 958:Hiromiti 17/02/16 01:36:38.63 AYiRXhGA.net int curtime = GetNowCount(); g_frametime = (float)(curtime - g_lasttime) / 1000.0f; g_lasttime = curtime; //この3行のコードを解説 int curtime = GetNowCount(); //まず、ここでwhileループを1回する度に現在の時刻を取得 g_frametime = (float)(curtime - g_lasttime) / 1000.0f; //ここでwhileループに入る前に取得した現在の時刻(g_lasttime)と whileループに入ってから取得した現在の時刻(curtime)とで引き算をして 1000.0fで割り算をしてから、g_frametime変数に代入する g_lasttime = curtime; //g_lasttime変数にはcurtime変数の値を代入 これをwhileループの中で延々と計算させ続ければ 60Hzでも70Hzでも誤差が生じない時間を生み出すことが出来る 次ページ最新レス表示レスジャンプ類似スレ一覧スレッドの検索話題のニュースおまかせリストオプションしおりを挟むスレッドに書込スレッドの一覧暇つぶし2ch