Difference between revisions of "love.update (日本語)"
m (translation updated) |
m |
||
Line 16: | Line 16: | ||
== 用例 == | == 用例 == | ||
− | ''npc'' | + | テーブル ''npc'' にある関数 ''think'' を毎秒一回ずつ実行します。 |
<source lang="lua"> | <source lang="lua"> | ||
dtotal = 0 -- これは経過時間を追跡して保持します。 | dtotal = 0 -- これは経過時間を追跡して保持します。 |
Revision as of 01:13, 15 June 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
関連