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

m (用例)
m (注意)
 
Line 13: Line 13:
  
 
== 注意 ==
 
== 注意 ==
love.update(dt) 関数において、引数 dt はローカル・スコープ(局所通用範囲)の変数です。よって、
+
引数 dt はローカル・スコープ(局所通用範囲)の変数であるため love.update(dt) 関数内に限り有効です。
この変数は love.update(dt) 関数に限り有効となります
+
  
 
==  用例  ==
 
==  用例  ==

Latest revision as of 22:59, 18 September 2019

ゲームにおいて、各フレームの状態更新時に用いるコールバック関数です。

関数

概要

love.update( dt )

引数

number 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

関連


そのほかの言語