main.lua hello world example
function love.draw()
love.graphics.print('Hello World!', 500, 300)
end
i'm new to lua, and from what i understand, any block starting with the word 'function' is a function definition. to call it you would do something like:
love.draw(love.graphics.print('Hello World!', 500, 300))
what am i not getting? Is there a secret file that is operating on main.lua to call love.draw() for me?
Dumb Question - main.lua runs function defs?
- Jasoco
- Inner party member
- Posts: 3727
- Joined: Mon Jun 22, 2009 9:35 am
- Location: Pennsylvania, USA
- Contact:
Re: Dumb Question - main.lua runs function defs?
Yes, there is a default lua file in the Löve application that has a function called love.run which consists of the following:
It handles all the love.* calls.
Your first snippet of code is correct. The second one is incorrect.
Also, use the CODE tags please.
And this should be in Support not General.
Welcome to the forum!
Code: Select all
function love.run()
if love.math then
love.math.setRandomSeed(os.time())
end
if love.event then
love.event.pump()
end
if love.load then love.load(arg) end
-- We don't want the first frame's dt to include time taken by love.load.
if love.timer then love.timer.step() end
local dt = 0
-- Main loop time.
while true do
-- Process events.
if love.event then
love.event.pump()
for e,a,b,c,d in love.event.poll() do
if e == "quit" then
if not love.quit or not love.quit() then
if love.audio then
love.audio.stop()
end
return
end
end
love.handlers[e](a,b,c,d)
end
end
-- Update dt, as we'll be passing it to update
if love.timer then
love.timer.step()
dt = love.timer.getDelta()
end
-- Call update and draw
if love.update then love.update(dt) end -- will pass 0 if love.timer is disabled
if love.window and love.graphics and love.window.isCreated() then
love.graphics.clear()
love.graphics.origin()
if love.draw then love.draw() end
love.graphics.present()
end
if love.timer then love.timer.sleep(0.001) end
end
end
Your first snippet of code is correct. The second one is incorrect.
Also, use the CODE tags please.
And this should be in Support not General.
Welcome to the forum!
Re: Dumb Question - main.lua runs function defs?
Doesn't checking for love.update and love.draw every loop create a (small) performance hit?Code: Select all
function love.run() while true do ... if love.update then love.update(dt) end -- will pass 0 if love.timer is disabled ... if love.window and love.graphics and love.window.isCreated() then if love.draw then love.draw() end
Don't almost most programs have a .update and .draw function defined?
just curious!
- slime
- Solid Snayke
- Posts: 3166
- Joined: Mon Aug 23, 2010 6:45 am
- Location: Nova Scotia, Canada
- Contact:
Re: Dumb Question - main.lua runs function defs?
Nope. To have a performance hit you'd need many hundreds or thousands of those checks per frame rather than just two (and that's assuming there's no branch prediction or anything going on under the hood, which there could be.)scrolly wrote:Doesn't checking for love.update and love.draw every loop create a (small) performance hit?
- Jasoco
- Inner party member
- Posts: 3727
- Joined: Mon Jun 22, 2009 9:35 am
- Location: Pennsylvania, USA
- Contact:
Re: Dumb Question - main.lua runs function defs?
Yeah. The hit is super small. I used to have the same concerns as you and would create my own edited love.run function that removed the checks. But there's no reason to. For the most part just leave love.run as it is.slime wrote:Nope. To have a performance hit you'd need many hundreds or thousands of those checks per frame rather than just two (and that's assuming there's no branch prediction or anything going on under the hood, which there could be.)scrolly wrote:Doesn't checking for love.update and love.draw every loop create a (small) performance hit?
Who is online
Users browsing this forum: No registered users and 3 guests