diff options
-rw-r--r-- | test0/main.lua | 128 | ||||
-rw-r--r-- | test0/metaspritessheet0_color0.png | bin | 0 -> 3330 bytes | |||
-rw-r--r-- | test0/metaspritessheet0_color0_alpha.png | bin | 0 -> 3356 bytes |
3 files changed, 128 insertions, 0 deletions
diff --git a/test0/main.lua b/test0/main.lua new file mode 100644 index 0000000..0192498 --- /dev/null +++ b/test0/main.lua @@ -0,0 +1,128 @@ +function love.load() + fps = 30 + upTime = love.timer.getTime() + nextTime = upTime + windowProfile = { + mode = { + width = 256, + height = 240, + }, + title = "GNU & Bola - The libre beat 'em up game", + } + + love.graphics.setBackgroundColor(0, 232, 216) + love.window.setMode(windowProfile.mode.width, windowProfile.mode.height) + love.window.setTitle(windowProfile.title) + + button = { + left = 'a', + right = 'd', + up = 'w', + down = 's', + button0 = 'j', + button1 = 'k', + select = 'g', + start = 'h', + quit = 'escape', + } + + sprites = { + bola = { + image = love.graphics.newImage('metaspritessheet0_color0_alpha.png'), + x = 24, + y = 32, + } + } + + character = { + bola = { + position = { + x = windowProfile.mode.width / 2, + y = windowProfile.mode.height / 2, + }, + origin = { + x = sprites.bola.x / 2, + y = sprites.bola.y / 2, + }, + acceleration = 0, + speed = 200, + spriteStand = { + love.graphics.newQuad(sprites.bola.x * 0, sprites.bola.y * 0, sprites.bola.x, sprites.bola.y, sprites.bola.image:getDimensions()), + love.graphics.newQuad(sprites.bola.x * 1, sprites.bola.y * 0, sprites.bola.x, sprites.bola.y, sprites.bola.image:getDimensions()), + love.graphics.newQuad(sprites.bola.x * 2, sprites.bola.y * 0, sprites.bola.x, sprites.bola.y, sprites.bola.image:getDimensions()), + love.graphics.newQuad(sprites.bola.x * 1, sprites.bola.y * 0, sprites.bola.x, sprites.bola.y, sprites.bola.image:getDimensions()), + love.graphics.newQuad(sprites.bola.x * 0, sprites.bola.y * 0, sprites.bola.x, sprites.bola.y, sprites.bola.image:getDimensions()), + love.graphics.newQuad(sprites.bola.x * 3, sprites.bola.y * 0, sprites.bola.x, sprites.bola.y, sprites.bola.image:getDimensions()), + love.graphics.newQuad(sprites.bola.x * 4, sprites.bola.y * 0, sprites.bola.x, sprites.bola.y, sprites.bola.image:getDimensions()), + love.graphics.newQuad(sprites.bola.x * 3, sprites.bola.y * 0, sprites.bola.x, sprites.bola.y, sprites.bola.image:getDimensions()), + love.graphics.newQuad(sprites.bola.x * 0, sprites.bola.y * 0, sprites.bola.x, sprites.bola.y, sprites.bola.image:getDimensions()), + love.graphics.newQuad(sprites.bola.x * 5, sprites.bola.y * 0, sprites.bola.x, sprites.bola.y, sprites.bola.image:getDimensions()), + love.graphics.newQuad(sprites.bola.x * 6, sprites.bola.y * 0, sprites.bola.x, sprites.bola.y, sprites.bola.image:getDimensions()), + love.graphics.newQuad(sprites.bola.x * 5, sprites.bola.y * 0, sprites.bola.x, sprites.bola.y, sprites.bola.image:getDimensions()), + love.graphics.newQuad(sprites.bola.x * 0, sprites.bola.y * 0, sprites.bola.x, sprites.bola.y, sprites.bola.image:getDimensions()), + love.graphics.newQuad(sprites.bola.x * 7, sprites.bola.y * 0, sprites.bola.x, sprites.bola.y, sprites.bola.image:getDimensions()), + love.graphics.newQuad(sprites.bola.x * 8, sprites.bola.y * 0, sprites.bola.x, sprites.bola.y, sprites.bola.image:getDimensions()), + love.graphics.newQuad(sprites.bola.x * 7, sprites.bola.y * 0, sprites.bola.x, sprites.bola.y, sprites.bola.image:getDimensions()), + start = 1, + fps = 9, + }, + spriteWalk = { + love.graphics.newQuad(sprites.bola.x * 0, sprites.bola.y * 1, sprites.bola.x, sprites.bola.y, sprites.bola.image:getDimensions()), + love.graphics.newQuad(sprites.bola.x * 1, sprites.bola.y * 1, sprites.bola.x, sprites.bola.y, sprites.bola.image:getDimensions()), + love.graphics.newQuad(sprites.bola.x * 2, sprites.bola.y * 1, sprites.bola.x, sprites.bola.y, sprites.bola.image:getDimensions()), + love.graphics.newQuad(sprites.bola.x * 1, sprites.bola.y * 1, sprites.bola.x, sprites.bola.y, sprites.bola.image:getDimensions()), + love.graphics.newQuad(sprites.bola.x * 0, sprites.bola.y * 1, sprites.bola.x, sprites.bola.y, sprites.bola.image:getDimensions()), + love.graphics.newQuad(sprites.bola.x * 3, sprites.bola.y * 1, sprites.bola.x, sprites.bola.y, sprites.bola.image:getDimensions()), + love.graphics.newQuad(sprites.bola.x * 4, sprites.bola.y * 1, sprites.bola.x, sprites.bola.y, sprites.bola.image:getDimensions()), + love.graphics.newQuad(sprites.bola.x * 3, sprites.bola.y * 1, sprites.bola.x, sprites.bola.y, sprites.bola.image:getDimensions()), + start = 1, + fps = 9, + }, + } + } +end + +function love.keypressed(key) + if key == button.quit then + love.event.quit() + end +end + +function love.update(dt) + nextTime = nextTime + (1 / fps) + + character.bola.spriteStand.start = character.bola.spriteStand.start + (dt * character.bola.spriteStand.fps) + character.bola.spriteWalk.start = character.bola.spriteWalk.start + (dt * character.bola.spriteWalk.fps) + + frames = { + bola = { + spriteStand = # character.bola.spriteStand, + spriteWalk = # character.bola.spriteWalk, + } + } + + while character.bola.spriteStand.start >= frames.bola.spriteStand do + character.bola.spriteStand.start = character.bola.spriteStand.start - (frames.bola.spriteStand - 1) + end + + while character.bola.spriteWalk.start >= frames.bola.spriteWalk do + character.bola.spriteWalk.start = character.bola.spriteWalk.start - (frames.bola.spriteWalk - 1) + end + + animation = { + bola = { + spriteStand = math.floor(character.bola.spriteStand.start), + spriteWalk = math.floor(character.bola.spriteWalk.start), + } + } +end + +function love.draw() + local currentTime = love.timer.getTime() + if nextTime <= currentTime then + nextTime = currentTime + end + love.timer.sleep(nextTime - currentTime) + love.graphics.print('FPS: ' .. love.timer.getFPS(), 0, 0) + love.graphics.draw(sprites.bola.image, character.bola.spriteWalk[animation.bola.spriteWalk], character.bola.position.x, character.bola.position.y, 0, 1, 1, character.bola.origin.x, character.bola.origin.y) +end diff --git a/test0/metaspritessheet0_color0.png b/test0/metaspritessheet0_color0.png Binary files differnew file mode 100644 index 0000000..1279700 --- /dev/null +++ b/test0/metaspritessheet0_color0.png diff --git a/test0/metaspritessheet0_color0_alpha.png b/test0/metaspritessheet0_color0_alpha.png Binary files differnew file mode 100644 index 0000000..08f7911 --- /dev/null +++ b/test0/metaspritessheet0_color0_alpha.png |