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

m (transition updated)
m (注意)
 
(One intermediate revision by the same user not shown)
Line 13: Line 13:
  
 
== 注意 ==
 
== 注意 ==
love.update(dt) 関数において、引数 dt はローカル・スコープ(局所通用範囲)の変数です。よって、
+
引数 dt はローカル・スコープ(局所通用範囲)の変数であるため love.update(dt) 関数内に限り有効です。
この変数は love.update(dt) 関数に限り有効となります
 
  
 
==  用例  ==
 
==  用例  ==
Line 23: Line 22:
 
   dtotal = dtotal + dt  -- 恐らく 0.01 といった非常に小さな数値を、最後の更新からの経過時間として加算します。
 
   dtotal = dtotal + dt  -- 恐らく 0.01 といった非常に小さな数値を、最後の更新からの経過時間として加算します。
 
   if dtotal >= 1 then
 
   if dtotal >= 1 then
       dtotal = dtotal - 1  -- タイマーへの減算しますが、変更は破棄しません...毎秒当たりのフレームレートは 2/3 ですか?
+
       dtotal = dtotal - 1  -- タイマーの減算しますが、変更は破棄しません...毎秒当たりのフレームレートは 2/3 ですか?
 
       npc.think()
 
       npc.think()
 
   end
 
   end
 
end
 
end
 
</source>
 
</source>
一定の割合で変数 ''var'' を変更します (この用例では毎秒 ±3 です)。
+
一定の割合で変数 ''var'' を更新します (この用例では毎秒 ±3 です)。
 
<source lang="lua">
 
<source lang="lua">
 
var = 10  -- 開始値
 
var = 10  -- 開始値
Line 41: Line 40:
 
end
 
end
 
</source>
 
</source>
 +
 
==  関連  ==
 
==  関連  ==
 
* [[parent::love (日本語)]]
 
* [[parent::love (日本語)]]

Latest revision as of 20: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

関連


そのほかの言語