Love:Mike: Added title screen/gamestates
This commit is contained in:
parent
23bbad4f2b
commit
c39c652d3b
42
love/mike/levels/gamestates.lua
Normal file
42
love/mike/levels/gamestates.lua
Normal file
@ -0,0 +1,42 @@
|
|||||||
|
Gamestates = {}
|
||||||
|
|
||||||
|
-- Title screen
|
||||||
|
function Gamestates.title_draw()
|
||||||
|
love.graphics.setColor(255,0,0)
|
||||||
|
love.graphics.print(string.format("Press space to start!"), screen.width/2, screen.height/2)
|
||||||
|
end
|
||||||
|
|
||||||
|
function Gamestates.title_update()
|
||||||
|
if love.keyboard.isDown(" ") then
|
||||||
|
gamestate.draw = Gamestates.main_draw
|
||||||
|
gamestate.update = Gamestates.main_update
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
-- Main game loop
|
||||||
|
function Gamestates.main_draw()
|
||||||
|
-- Draw paddle
|
||||||
|
love.graphics.setColor(255,255,255)
|
||||||
|
love.graphics.rectangle("line", actors.player.x, actors.player.y,
|
||||||
|
actors.player.width, actors.player.height)
|
||||||
|
-- Draw ball
|
||||||
|
love.graphics.setColor(255,0,0)
|
||||||
|
love.graphics.circle("line", actors.ball.x, actors.ball.y,
|
||||||
|
actors.ball.width, actors.ball.height)
|
||||||
|
-- FPS counter
|
||||||
|
love.graphics.setColor(128,72,25)
|
||||||
|
love.graphics.print("FPS: "..tostring(love.timer.getFPS( )), 10, 10)
|
||||||
|
-- Ball Score
|
||||||
|
love.graphics.setColor(255,0,0)
|
||||||
|
love.graphics.print("Score: "..actors.ball.score, screen.width -80, 10)
|
||||||
|
-- Timer
|
||||||
|
love.graphics.setColor(125,42,19)
|
||||||
|
love.graphics.print(string.format("Time M: %.2f", actors.end_timer/60), screen.width -85, 50)
|
||||||
|
love.graphics.print(string.format("Time S: %.2f", actors.end_timer), screen.width -85, 30)
|
||||||
|
end
|
||||||
|
|
||||||
|
function Gamestates.main_update(dt)
|
||||||
|
actors.player = check_keys(actors.player, screen, dt)
|
||||||
|
actors.ball = ball_bounce(actors.player, actors.ball, dt)
|
||||||
|
actors.end_timer = love.timer.getTime() - actors.start
|
||||||
|
end
|
@ -1,5 +1,6 @@
|
|||||||
require "lib/keys"
|
require "lib/keys"
|
||||||
require "lib/functions"
|
require "lib/functions"
|
||||||
|
require "levels/gamestates"
|
||||||
|
|
||||||
function love.load()
|
function love.load()
|
||||||
-- Create a table and grab the screen width/height
|
-- Create a table and grab the screen width/height
|
||||||
@ -21,31 +22,17 @@ function love.load()
|
|||||||
-- Timer vars (see keys.lua for loaded timer vars)
|
-- Timer vars (see keys.lua for loaded timer vars)
|
||||||
actors.start = love.timer.getTime()
|
actors.start = love.timer.getTime()
|
||||||
actors.end_timer = 0
|
actors.end_timer = 0
|
||||||
|
|
||||||
|
-- Set the starting screen
|
||||||
|
gamestate = {}
|
||||||
|
gamestate.draw = Gamestates.title_draw
|
||||||
|
gamestate.update = Gamestates.title_update
|
||||||
end
|
end
|
||||||
|
|
||||||
function love.update(dt)
|
function love.update(dt)
|
||||||
actors.player = check_keys(actors.player, screen, dt)
|
gamestate.update(dt)
|
||||||
actors.ball = ball_bounce(actors.player, actors.ball, dt)
|
|
||||||
actors.end_timer = love.timer.getTime() - actors.start
|
|
||||||
end
|
end
|
||||||
|
|
||||||
function love.draw()
|
function love.draw()
|
||||||
-- Draw paddle
|
gamestate.draw()
|
||||||
love.graphics.setColor(255,255,255)
|
|
||||||
love.graphics.rectangle("line", actors.player.x, actors.player.y,
|
|
||||||
actors.player.width, actors.player.height)
|
|
||||||
-- Draw ball
|
|
||||||
love.graphics.setColor(255,0,0)
|
|
||||||
love.graphics.circle("line", actors.ball.x, actors.ball.y,
|
|
||||||
actors.ball.width, actors.ball.height)
|
|
||||||
-- FPS counter
|
|
||||||
love.graphics.setColor(128,72,25)
|
|
||||||
love.graphics.print("FPS: "..tostring(love.timer.getFPS( )), 10, 10)
|
|
||||||
-- Ball Score
|
|
||||||
love.graphics.setColor(255,0,0)
|
|
||||||
love.graphics.print("Score: "..actors.ball.score, screen.width -80, 10)
|
|
||||||
-- Timer
|
|
||||||
love.graphics.setColor(125,42,19)
|
|
||||||
love.graphics.print(string.format("Time M: %.2f", actors.end_timer/60), screen.width -85, 50)
|
|
||||||
love.graphics.print(string.format("Time S: %.2f", actors.end_timer), screen.width -85, 30)
|
|
||||||
end
|
end
|
||||||
|
Loading…
x
Reference in New Issue
Block a user