love.event.wait (日本語)

LÖVE 0.6.0 から使用可能
この関数は以前のバージョンでは非対応です。

love.event.poll() と似ていますが、イベントキューにイベントが入るまで阻止します。

関数

概要

n, a, b, c, d, e, f, ... = love.event.wait( )

引数

なし。

返値

Event n (nil)
イベント名、またはイベントが認識不能ならば nil です。
Variant a
イベントの第一引数。
Variant b
イベントの第二引数。
Variant c
イベントの第三引数。
LÖVE 0.8.0 から利用可能
Variant d
イベントの第四引数。


LÖVE 0.10.0 から利用可能
Variant e
イベントの第五引数。
Variant f
イベントの第六引数。
Variant ...
必要ならば追加のイベント引数を続けて記述します。

用例

この関数で love.event.poll() を差し替えた用例です。

function love.run()
    if love.load then love.load(love.arg.parseGameArguments(arg), arg) end
 
    -- メインループの処理機会。
    return function()
        -- イベントの処理。
        if love.event then
            local name, a,b,c,d,e,f = love.event.wait()
            if name then
                if name == "quit" then
                    if not love.quit or not love.quit() then
                        return a or 0
                    end
                end            
                love.handlers[name](a,b,c,d,e,f)
            end
        end
 
        -- update と draw コールバックの呼び出し。
        if love.update then love.update(0) end
 
        if love.graphics and love.graphics.isActive() then
            love.graphics.origin()
            love.graphics.clear(love.graphics.getBackgroundColor())
 
            if love.draw then love.draw() end
 
            love.graphics.present()
        end
    end
end

関連


そのほかの言語