Difference between revisions of "love.event.wait"
Shingoscar (talk | contribs) (Add an example) |
|||
(3 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
{{newin|[[0.6.0]]|060|type=function}} | {{newin|[[0.6.0]]|060|type=function}} | ||
− | + | Like <code>[[love.event.poll]]()</code>, but blocks until there is an event in the queue. | |
− | == | + | == Function == |
− | === | + | === Synopsis === |
<source lang="lua"> | <source lang="lua"> | ||
n, a, b, c, d, e, f, ... = love.event.wait( ) | n, a, b, c, d, e, f, ... = love.event.wait( ) | ||
</source> | </source> | ||
− | === | + | === Arguments === |
− | + | None. | |
− | === | + | === Returns === |
− | {{param|Event|n| | + | {{param|Event|n (nil)|The name of event, or nil if the event is unrecognized.}} |
− | {{param|Variant|a| | + | {{param|Variant|a|First event argument.}} |
− | {{param|Variant|b| | + | {{param|Variant|b|Second event argument.}} |
− | {{param|Variant|c| | + | {{param|Variant|c|Third event argument.}} |
{{New_feature|0.8.0| | {{New_feature|0.8.0| | ||
− | {{param|Variant|d| | + | {{param|Variant|d|Fourth event argument.}} }} |
{{New_feature|0.10.0| | {{New_feature|0.10.0| | ||
− | {{param|Variant|e| | + | {{param|Variant|e|Fifth event argument.}} |
− | {{param|Variant|f| | + | {{param|Variant|f|Sixth event argument.}} |
− | {{param|Variant|...| | + | {{param|Variant|...|Further event arguments may follow.}} }} |
− | == | + | == Examples == |
− | * [[parent::love.event | + | An example that replace <code>[[love.event.poll]]()</code> with this function. |
− | * [[love.event.poll | + | <source lang="lua"> |
+ | function love.run() | ||
+ | if love.load then love.load(love.arg.parseGameArguments(arg), arg) end | ||
+ | |||
+ | -- Main loop time. | ||
+ | return function() | ||
+ | -- Process events. | ||
+ | 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 | ||
+ | |||
+ | -- Call update and 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> | ||
+ | == See Also == | ||
+ | * [[parent::love.event]] | ||
+ | * [[love.event.poll]] | ||
[[Category:Functions]] | [[Category:Functions]] | ||
{{#set:Description=Like love.event.poll(), but blocks until there is an event in the queue.}} | {{#set:Description=Like love.event.poll(), but blocks until there is an event in the queue.}} | ||
{{#set:Since=000}} | {{#set:Since=000}} | ||
− | == | + | == Other Languages == |
{{i18n|love.event.wait}} | {{i18n|love.event.wait}} |
Latest revision as of 07:51, 19 October 2020
Available since LÖVE 0.6.0 |
This function is not supported in earlier versions. |
Like love.event.poll()
, but blocks until there is an event in the queue.
Function
Synopsis
n, a, b, c, d, e, f, ... = love.event.wait( )
Arguments
None.
Returns
Event n (nil)
- The name of event, or nil if the event is unrecognized.
Variant a
- First event argument.
Variant b
- Second event argument.
Variant c
- Third event argument.
Available since LÖVE 0.8.0
Variant d
- Fourth event argument.
Available since LÖVE 0.10.0
Examples
An example that replace love.event.poll()
with this function.
function love.run()
if love.load then love.load(love.arg.parseGameArguments(arg), arg) end
-- Main loop time.
return function()
-- Process events.
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
-- Call update and 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
See Also
Other Languages
Dansk –
Deutsch –
English –
Español –
Français –
Indonesia –
Italiano –
Lietuviškai –
Magyar –
Nederlands –
Polski –
Português –
Română –
Slovenský –
Suomi –
Svenska –
Türkçe –
Česky –
Ελληνικά –
Български –
Русский –
Српски –
Українська –
עברית –
ไทย –
日本語 –
正體中文 –
简体中文 –
Tiếng Việt –
한국어
More info