Tutorial:Callback Functions (日本語)

愛のコールバック(カテゴリは英語です)関数は次式でlove.run様々なタスクを実行し、すべてオプションですします。と呼ばれていしかし、フル機能のゲームの経験は、おそらくほとんどすべての利用するでしょうので、それが何であるかを知るのが賢明です。

コールバックは、プログラミングに新規または長期でそうでなければなじみのない人のため、ある意味で逆方向に動作する関数です。のような通常の関数の中でlove.graphics.drawまたは数学。床には、あなたが、愛やLuaが何かを呼び出します。コールバックは、他の一方で、関数であり、特定の時間帯では、コードと愛呼び出します。これは、簡単にあなたのコードが組織的かつ最適に保つようになります。ゲームは最初の(他のコールバックの前)に開始されたとき「love.load」は一度だけ呼び出されますので、例えば、それはゲームコンテンツをロードするコードを置くのに良い場所だと、それ以外のものを準備します。

love.load

function love.load()
   image = love.graphics.newImage("cake.jpg")
   local f = love.graphics.newFont(12)
   love.graphics.setFont(f)
   love.graphics.setColor(0,0,0,255)
   love.graphics.setBackgroundColor(255,255,255)
end

この関数は、ゲームが開始されたときに、一度だけ呼ばれ、あなたは、リソースをロードする変数を初期化し、特定の設定をする場所、通常はされます。これらすべてのものは同様に他の場所で行われますが、ここでそれらを行うと、多くのシステムリソースを節約し、彼らは一度だけ行われることを意味することができます。

love.update

function love.update(dt)
   if love.keyboard.isDown("up") then
      num = num + 100 * dt -- これは、毎秒100で「num」をインクリメントしたい
   end
end

この関数は、連続して呼び出され、あなたの数学のほとんどが行われている場所はおそらくなります。'dt'がデルタ時間の略で、この関数は(通常は0.025714のような小さな値である)と呼ばれた最後の時間からの経過秒量です。

love.draw

function love.draw()
   love.graphics.draw(image, imgx, imgy)
   love.graphics.print("Click and drag the cake around or use the arrow keys", 10, 10)
end

love.drawすべての描画が発生するところです(これは既に十分に明らかにされなかった場合)とを呼び出す場合は、love.graphics.drawと、この関数の外でそれが起こっていないのいずれかが持っている任意の効果。この関数は、連続しているので、関数の末尾に「font/color/mode/etc」変更した場合、それは関数の先頭で物事に影響を与えることに留意してくださいと呼ばれています。たとえば、次のように

function love.load()
   love.graphics.setColor(0,0,0)
end

function love.draw()
   love.graphics.print("This text is not black because of the line below", 100, 100)
   love.graphics.setColor(255,0,0)
   love.graphics.print("This text is red", 100, 200)
end

もっとすぐに来る。

それらは、コールバック関数とその基本的な使い方があります。



Other languages