Difference between revisions of "love.timer.sleep (日本語)"
(New translation (Based revision : 6205 / 20:02, 25 March 2011)) |
m |
||
(6 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
− | + | {{newin (日本語)|[[0.2.1 (日本語)|0.2.1]]|021|type=関数}} | |
− | {{notice| | + | 指定された時間になるまで現在のスレッドを一時停止します。 |
+ | |||
+ | {{notice|この関数はスレッド全体を指定された時間まで一時停止します。この影響により、グラフィックスは描画されませんし、入力イベントは動作もしません。さらに、コードは実行されないばかりか、メインスレッドで "wait()" 関数の相当品として使用した場合、ウィンドウは無反応になります。スレッド全体を停止させずに処理の待機または一時停止を行うには [[love.update (日本語)|love.update]] または [[love.timer (日本語)|Timer ライブラリ]]を使用してください。}} | ||
== 関数 == | == 関数 == | ||
− | {{newin (日本語)|[[0.8.0]]|080|type= | + | {{newin (日本語)|[[0.8.0]]|080|type=異形}} |
=== 概要 === | === 概要 === | ||
<source lang="lua"> | <source lang="lua"> | ||
Line 8: | Line 10: | ||
</source> | </source> | ||
=== 引数 === | === 引数 === | ||
− | {{param|number|s| | + | {{param|number|s|一時停止する時間を秒数で指定します。}} |
=== 返値 === | === 返値 === | ||
ありません。 | ありません。 | ||
== 関数 == | == 関数 == | ||
− | {{oldin (日本語)|[[0.8.0]]|080|type= | + | {{oldin (日本語)|[[0.8.0]]|080|type=異形}} |
=== 概要 === | === 概要 === | ||
<source lang="lua"> | <source lang="lua"> | ||
Line 18: | Line 20: | ||
</source> | </source> | ||
=== 引数 === | === 引数 === | ||
− | {{param|number|ms| | + | {{param|number|ms|一時停止する時間をミリ秒数で指定します。}} |
=== 返値 === | === 返値 === | ||
ありません。 | ありません。 | ||
Line 32: | Line 34: | ||
</source> | </source> | ||
− | === | + | |
+ | === より洗練された方法で 30 FPS を制限する === | ||
ここでは各フレームが描画および更新に時間を消費したことを計算に入れています。 | ここでは各フレームが描画および更新に時間を消費したことを計算に入れています。 | ||
<source lang="lua"> | <source lang="lua"> | ||
Line 43: | Line 46: | ||
next_time = next_time + min_dt | next_time = next_time + min_dt | ||
− | -- | + | -- こちらへ関数の続きを記述します。 |
end | end | ||
function love.draw() | function love.draw() | ||
− | -- | + | -- こちらへ関数の続きを記述します。 |
local cur_time = love.timer.getTime() | local cur_time = love.timer.getTime() | ||
Line 61: | Line 64: | ||
* [[parent::love.timer (日本語)]] | * [[parent::love.timer (日本語)]] | ||
[[Category:Functions]] | [[Category:Functions]] | ||
− | {{#set:Description= | + | {{#set:Description=指定された時間になるまで現在のスレッドを一時停止します。}} |
{{#set:Since=021}} | {{#set:Since=021}} | ||
{{#set:PrettySince=0.2.1}} | {{#set:PrettySince=0.2.1}} | ||
== そのほかの言語 == | == そのほかの言語 == | ||
− | {{i18n|love.timer.sleep}} | + | {{i18n (日本語)|love.timer.sleep}} |
Latest revision as of 01:29, 21 July 2023
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
関連