3
3
inTargetArea = function(self)
4
4
-- TODO: memoize this per-tick
6
local mouseAngle = math.atan2(self.vector.y, self.vector.x)
6
local mouseAngle = math.atan2(
7
love.mouse.getY() - the.app.height/2,
8
love.mouse.getX() - the.app.width/2
7
10
local mouseVsShipAbs = math.abs(the.player.rotation - mouseAngle)
8
11
local mouseVsShip = math.min(2*math.pi - mouseVsShipAbs,
11
14
return mouseVsShip < 0.75
13
onStartFrame = function(self)
14
self.vector = vector.new(
15
love.mouse.getX() - the.app.width/2,
16
love.mouse.getY() - the.app.height/2
19
16
onUpdate = function(self)
20
if self.vector:len2() > 64^2 then
17
if self:inTargetArea() then
21
18
self.image = 'data/cursor-target.png'
23
20
self.image = 'data/cursor.png'
26
-- if self:inTargetArea() then
27
-- self.image = 'data/cursor-target.png'
29
-- self.image = 'data/cursor.png'
32
23
onEndFrame = function(self)
33
24
self.x = love.mouse.getX() + 8 + the.player.x - the.app.width / 2