love.timer.sleep (日本語)
LÖVE 0.2.1 から使用可能 |
この関数は以前のバージョンでは非対応です。 |
指定された時間になるまで現在のスレッドを一時停止します。
この関数はスレッド全体を指定された時間まで一時停止します。この影響により、グラフィックスは描画されませんし、入力イベントは動作もしません。さらに、コードは実行されないばかりか、メインスレッドで "wait()" 関数の相当品として使用した場合、ウィンドウは無反応になります。スレッド全体を停止させずに処理の待機または一時停止を行うには love.update または Timer ライブラリを使用してください。 |
Contents
関数
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
より洗練された方法で 30 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
関連