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 +++++++++++++++++++++++++---- 1 file changed, 25 insertions(+), 4 deletions(-) (limited to 'Bolvis.lua') 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) -- cgit v1.2.3