Difference between revisions of "love.update (日本語)"

m (用例)
m
Line 10: Line 10:
 
===  返値  ===
 
===  返値  ===
 
ありません。
 
ありません。
 +
 +
== 注意 ==
 +
引数 dt は love.update(dt) でのみ使用可能です。これは、 dt のスコープ(有効範囲)が love.update(dt) に限られているからです。つまりローカル変数扱いとなっています。
 +
 
==  用例  ==
 
==  用例  ==
 
''npc'' というテーブルにある ''think'' という関数を秒毎に一回実行します。
 
''npc'' というテーブルにある ''think'' という関数を秒毎に一回実行します。

Revision as of 17:37, 20 October 2017

ゲームの各フレームの状態を更新する時に使用されるコールバック関数です。

関数

概要

love.update( dt )

引数

number dt
秒単位による最終更新からの時間。

返値

ありません。

注意

引数 dt は love.update(dt) でのみ使用可能です。これは、 dt のスコープ(有効範囲)が love.update(dt) に限られているからです。つまりローカル変数扱いとなっています。

用例

npc というテーブルにある think という関数を秒毎に一回実行します。

dtotal = 0   -- これは経過時間を追跡して保持します。
function love.update(dt)
   dtotal = dtotal + dt   -- 恐らく 0.01 といった非常に小さな数値を、最後の更新からの経過時間として加算します。
   if dtotal >= 1 then
      dtotal = dtotal - 1   -- タイマーへの減算しますが、変更は破棄しません...毎秒当たりのフレームレートは 2/3 ですか?
      npc.think()
   end
end

一定の割合で変数 var を変更します (この用例では毎秒 +/- 3 です)。

var = 10   -- 任意の開始値
rate = 3   -- var が変更されるときの変動割合を変更します。
function love.update(dt)
   if love.keyboard.isDown("down") then   -- 値の減算
      var = var - (dt * rate)
   end
   if love.keyboard.isDown("up") then   -- 値の加算
      var = var + (dt * rate)
   end
end

関連


そのほかの言語