summaryrefslogtreecommitdiff
path: root/src/gnu_and_bola_-_the_libre_beat_em_up_game/main.lua
blob: 0417221b0bba6f3367b009ee79c05a141ba6bfdc (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
function love.load()
  fps = 30
  upTime = love.timer.getTime()
  nextTime = upTime
  windowProfile = {
    mode = {
      width  = 256,
      height = 240,
    },
    scale = {
      x = 2,
      y = 2,
    },
    title = "GNU & Bola - The libre beat'em up game",
  }

  love.graphics.setBackgroundColor(0, 232, 216)
  love.graphics.setDefaultFilter('nearest', 'nearest')
  love.window.setMode(windowProfile.mode.width * windowProfile.scale.x, windowProfile.mode.height * windowProfile.scale.y)
  love.window.setTitle(windowProfile.title)

  button  = require 'scripts.player.1.button'
  metaSprites = require 'scripts.meta_sprites'

  character = {
    bola = require 'scripts.bola.default'
  }

  bolaAnimation = require 'scripts.bola.animation'
  bolaMotion = require 'scripts.bola.motion'
end

function love.keypressed(key)
  if key == button.quit then
    love.event.quit()
  end
end

function love.update(dt)
  nextTime = nextTime + (1 / fps)

  bolaAnimation.animation(dt)
  bolaMotion.motion(dt)
end

function love.draw()
  local currentTime = love.timer.getTime()
  if nextTime <= currentTime then
    nextTime = currentTime
    return
  end
  love.timer.sleep(nextTime - currentTime)

  love.graphics.scale(windowProfile.scale.x, windowProfile.scale.y)

  love.graphics.print('FPS: ' .. love.timer.getFPS(), 0, 0)

  draw = {
    bola = love.graphics.draw(
      metaSprites.bola.image,
      quad.bola,
      character.bola.position.x,
      character.bola.position.y,
      character.bola.orientation,
      character.bola.scale.x,
      character.bola.scale.y,
      character.bola.origin.x,
      transform.bola.origin.y
    )
  }
end