love.timer.sleep (日本語)

現在のスレッドを指定された時間量まで一時停止します。

O.png この関数はスレッドを指定時間まで完全に一時停止します。グラフィックスは描画されず、入力イベントは発生せず、コードは実行されないばかりか、メインスレッドで "wait()" 関数の相当品として使用した場合はウィンドウは無反応になります。この目的のためには代わりに love.update または Timer ライブラリを使用してください。  


関数

LÖVE 0.8.0 から使用可能
この動作は以前のバージョンでは非対応です。

概要

love.timer.sleep( s )

引数

number s
一時停止する秒数を指定します。

返値

ありません。

関数

LÖVE 0.8.0 から廃止
この動作は以降のバージョンでは非対応です。

概要

love.timer.sleep( ms )

引数

number ms
一時停止するミリ秒数を指定します。

返値

ありません。

用例

30 FPS に制限するために一時停止します

function love.update(dt)
   if dt < 1/30 then
      love.timer.sleep(1/30 - dt)
   end
end

もっと洗練された方法で FPS を制限する

ここでは各フレームが描画および更新に時間を消費したことを計算に入れています。

function love.load()
   min_dt = 1/30
   next_time = love.timer.getTime()
end

function love.update(dt)
   next_time = next_time + min_dt

   -- 関数の残りをこちらへ
end

function love.draw()
   -- 関数の残りをこちらへ

   local cur_time = love.timer.getTime()
   if next_time <= cur_time then
      next_time = cur_time
      return
   end
   love.timer.sleep(next_time - cur_time)
end

関連



そのほかの言語