diff options
Diffstat (limited to 'Bolvis.lua')
| -rw-r--r-- | Bolvis.lua | 25 |
1 files changed, 20 insertions, 5 deletions
@@ -3,16 +3,20 @@ local physics = require 'physics' local Camera = require 'Camera' local Bolvis = physics.Object:extend() -Bolvis.sprite = love.graphics.newImage("bolvis.png", {dpiscale = 5}) +Bolvis.sprite_unblink = love.graphics.newImage("bolvis.png", {dpiscale = 5}) +Bolvis.sprite_blink = love.graphics.newImage("bolvis-blink.png", {dpiscale = 5}) Bolvis.z = 50 -local Hand = game.Object:extend() +local Hand = physics.Object:extend() Hand.sprite_open = love.graphics.newImage("hand-open.png", {dpiscale = 3.5}) Hand.sprite_closed = love.graphics.newImage("hand-closed.png", {dpiscale = 3.5}) Hand.max_speed = 10 Hand.z = 49 function Bolvis:new(pos, rotation) + self.sprite = self.sprite_unblink + self.blink = 10 + physics.Object.new(self, pos, rotation, nil, 'dynamic') self.shape = love.physics.newRectangleShape(90, 90) self.fixture = love.physics.newFixture(self.body, self.shape) @@ -23,13 +27,24 @@ function Bolvis:new(pos, rotation) self.camera:follow(self) end -function Bolvis:update() +function Bolvis:update(dt) self.body:setAngle(0) - physics.Object.update(self) + physics.Object.update(self, dt) + + self.blink = self.blink - (dt * 30) + if self.blink <= 0 then + if self.sprite == self.sprite_blink then + self.sprite = self.sprite_unblink + self.blink = math.random(30, 256) + elseif self.sprite == self.sprite_unblink then + self.sprite = self.sprite_blink + self.blink = 4 + end + end end function Hand:new(bolvis) - game.Object.new(self) + physics.Object.new(self) self.offset = {100, -100} self.bolvis = bolvis self.sprite = self.sprite_open |
