Difference between revisions of "love.update (日本語)"
m (transition updated) |
m (→用例) |
||
Line 23: | Line 23: | ||
dtotal = dtotal + dt -- 恐らく 0.01 といった非常に小さな数値を、最後の更新からの経過時間として加算します。 | dtotal = dtotal + dt -- 恐らく 0.01 といった非常に小さな数値を、最後の更新からの経過時間として加算します。 | ||
if dtotal >= 1 then | if dtotal >= 1 then | ||
− | dtotal = dtotal - 1 -- | + | dtotal = dtotal - 1 -- タイマーの減算しますが、変更は破棄しません...毎秒当たりのフレームレートは 2/3 ですか? |
npc.think() | npc.think() | ||
end | end | ||
end | end | ||
</source> | </source> | ||
− | 一定の割合で変数 ''var'' | + | 一定の割合で変数 ''var'' を更新します (この用例では毎秒 ±3 です)。 |
<source lang="lua"> | <source lang="lua"> | ||
var = 10 -- 開始値 | var = 10 -- 開始値 | ||
Line 41: | Line 41: | ||
end | end | ||
</source> | </source> | ||
+ | |||
== 関連 == | == 関連 == | ||
* [[parent::love (日本語)]] | * [[parent::love (日本語)]] |
Revision as of 20:57, 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
関連