summaryrefslogtreecommitdiff
path: root/Bolvis.lua
diff options
context:
space:
mode:
Diffstat (limited to 'Bolvis.lua')
-rw-r--r--Bolvis.lua29
1 files changed, 25 insertions, 4 deletions
diff --git a/Bolvis.lua b/Bolvis.lua
index 721bc4d..43e8953 100644
--- a/Bolvis.lua
+++ b/Bolvis.lua
@@ -3,7 +3,9 @@ local physics = require 'physics'
local Camera = require 'Camera'
local Bolvis = physics.Object:extend()
-Bolvis.sprite_unblink = love.graphics.newImage("bolvis.png", {dpiscale = 5})
+Bolvis.sprite_center = love.graphics.newImage("bolvis.png", {dpiscale = 5})
+Bolvis.sprite_left = love.graphics.newImage("bolvis-left.png", {dpiscale = 5})
+Bolvis.sprite_right = love.graphics.newImage("bolvis-right.png", {dpiscale = 5})
Bolvis.sprite_blink = love.graphics.newImage("bolvis-blink.png", {dpiscale = 5})
Bolvis.z = 50
@@ -14,7 +16,7 @@ Hand.max_speed = 10
Hand.z = 49
function Bolvis:new(pos, rotation)
- self.sprite = self.sprite_unblink
+ self.sprite = self.sprite_center
self.blink = 10
physics.Object.new(self, pos, rotation, nil, 'dynamic')
@@ -34,13 +36,32 @@ function Bolvis:update(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.sprite = self.sprite_center
self.blink = math.random(30, 256)
- elseif self.sprite == self.sprite_unblink then
+ else
self.sprite = self.sprite_blink
self.blink = 4
end
end
+ if self.sprite ~= self.sprite_blink then
+ if self.hand.grab_joint then
+ local offsx = self.hand:present_offset()
+ if offsx > 150 then
+ self.sprite = self.sprite_right
+ elseif offsx < -150 then
+ self.sprite = self.sprite_left
+ else
+ self.sprite = self.sprite_center
+ end
+ elseif self.sprite ~= self.sprite_center then
+ if math.random(1, 4) == 1 then
+ self.sprite = self.sprite_blink
+ self.blink = 4
+ else
+ self.sprite = self.sprite_center
+ end
+ end
+ end
end
function Hand:new(bolvis)