From 001272dbcbaa1110541e0666af3cea1c97bc199f Mon Sep 17 00:00:00 2001 From: the lemons Date: Tue, 23 Aug 2022 03:07:14 -0500 Subject: eye movement --- Bolvis.lua | 29 +++++++++++++++++++++++++---- bolvis-left.png | Bin 0 -> 135883 bytes bolvis-right.png | Bin 0 -> 135225 bytes bolvis.png | Bin 141836 -> 145016 bytes 4 files changed, 25 insertions(+), 4 deletions(-) create mode 100644 bolvis-left.png create mode 100644 bolvis-right.png 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) diff --git a/bolvis-left.png b/bolvis-left.png new file mode 100644 index 0000000..2eb1fb3 Binary files /dev/null and b/bolvis-left.png differ diff --git a/bolvis-right.png b/bolvis-right.png new file mode 100644 index 0000000..e6e48c9 Binary files /dev/null and b/bolvis-right.png differ diff --git a/bolvis.png b/bolvis.png index a85b920..bb2a29a 100644 Binary files a/bolvis.png and b/bolvis.png differ -- cgit v1.2.3