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

m (translation update)
m (Translation updated.)
 
(One intermediate revision by the same user not shown)
Line 4: Line 4:
 
=== 概要 ===
 
=== 概要 ===
 
<source lang="lua">
 
<source lang="lua">
e, a, b, c, d = love.event.wait( )
+
n, a, b, c, d, e, f, ... = love.event.wait( )
 
</source>
 
</source>
 
=== 引数 ===
 
=== 引数 ===
 
なし。
 
なし。
 
=== 返値 ===
 
=== 返値 ===
{{param|Event|e|イベントの種類。}}
+
{{param|Event|n (nil)|イベント名、またはイベントが認識不能ならば nil です。}}
 
{{param|Variant|a|イベントの第一引数。}}
 
{{param|Variant|a|イベントの第一引数。}}
 
{{param|Variant|b|イベントの第二引数。}}
 
{{param|Variant|b|イベントの第二引数。}}
Line 20: Line 20:
 
{{param|Variant|f|イベントの第六引数。}}
 
{{param|Variant|f|イベントの第六引数。}}
 
{{param|Variant|...|必要ならば追加のイベント引数を続けて記述します。}} }}
 
{{param|Variant|...|必要ならば追加のイベント引数を続けて記述します。}} }}
 
+
== 用例 ==
 +
この関数で <code>[[love.event.poll (日本語)|love.event.poll]]()</code> を差し替えた用例です。
 +
<source lang="lua">
 +
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
 +
</source>
 
== 関連 ==
 
== 関連 ==
 
* [[parent::love.event (日本語)]]
 
* [[parent::love.event (日本語)]]

Latest revision as of 03:39, 11 July 2023

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

関連


そのほかの言語