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

m
m (transition updated)
Line 1: Line 1:
ゲームの各フレームの状態を更新する時に使用されるコールバック関数です。
+
ゲームにおいて、各フレームの状態更新時に用いるコールバック関数です。
  
 
==  関数  ==
 
==  関数  ==
Line 13: Line 13:
  
 
== 注意 ==
 
== 注意 ==
引数 dt はスコープ(有効範囲)が love.update(dt) 関数内に制限されたローカル変数として扱われるため同関数内でのみ使用できます。
+
love.update(dt) 関数において、引数 dt はローカル・スコープ(局所通用範囲)の変数です。よって、
 +
この変数は love.update(dt) 関数に限り有効となります
  
 
==  用例  ==
 
==  用例  ==
Line 27: Line 28:
 
end
 
end
 
</source>
 
</source>
一定の割合で変数 ''var'' を変更します (この用例では毎秒 +/- 3 です)。
+
一定の割合で変数 ''var'' を変更します (この用例では毎秒 ±3 です)。
 
<source lang="lua">
 
<source lang="lua">
var = 10  -- 任意の開始値
+
var = 10  -- 開始値
rate = 3  -- var が変更されるときの変動割合を変更します。
+
rate = 3  -- var の変更時における変動割合を指定します。
 
function love.update(dt)
 
function love.update(dt)
 
   if love.keyboard.isDown("down") then  -- 値の減算
 
   if love.keyboard.isDown("down") then  -- 値の減算
Line 45: Line 46:
 
* [[variable (日本語)]]
 
* [[variable (日本語)]]
 
[[Category:Callbacks]]
 
[[Category:Callbacks]]
{{#set:Description=ゲームの各フレームの状態を更新する時に使用されるコールバック関数です。}}
+
{{#set:Description=ゲームにおいて、各フレームの状態更新時に用いるコールバック関数です。}}
 
{{#set:Subcategory=General}}
 
{{#set:Subcategory=General}}
 
{{#set:Since=000}}
 
{{#set:Since=000}}
 
==  そのほかの言語  ==
 
==  そのほかの言語  ==
 
{{i18n (日本語)|love.update}}
 
{{i18n (日本語)|love.update}}

Revision as of 22:55, 18 September 2019

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

関数

概要

love.update( dt )

引数

number 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

関連


そのほかの言語