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|この関数はスレッドを指定時間まで完全に一時停止します。グラフィックスは描画されず、入力イベントは発生せず、コードは実行されないばかりか、メインスレッドで "wait()" 関数の相当品として使用した場合はウィンドウは無反応になります。この目的のためには代わりに love.update または Timer ライブラリを使用してください。}}
+
指定された時間になるまで現在のスレッドを一時停止します。
 +
 
 +
{{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>
  
=== もっと洗練された方法で FPS を制限する ===
+
 
 +
=== より洗練された方法で 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 から使用可能
この関数は以前のバージョンでは非対応です。

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

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


より洗練された方法で 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

関連



そのほかの言語