/traderous

To get this branch, use:
bzr branch http://9ix.org/bzr/traderous

« back to all changes in this revision

Viewing changes to cursor.lua

  • Committer: Josh C
  • Date: 2013-05-09 00:35:25 UTC
  • Revision ID: josh@9ix.org-20130509003525-ad51iyqb2j9eg1wl
get lasers going the right way

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
Cursor = Tile:extend {
 
2
   image = 'data/cursor.png',
 
3
   inTargetArea = function(self)
 
4
                     -- TODO: memoize this per-tick
 
5
 
 
6
                     local mouseAngle = math.atan2(
 
7
                        love.mouse.getY() - the.app.height/2,
 
8
                        love.mouse.getX() - the.app.width/2
 
9
                     )
 
10
                     local mouseVsShipAbs = math.abs(the.player.rotation - mouseAngle)
 
11
                     local mouseVsShip = math.min(2*math.pi - mouseVsShipAbs,
 
12
                                                  mouseVsShipAbs)
 
13
 
 
14
                     return mouseVsShip < 0.75
 
15
                  end,
 
16
   onUpdate = function(self)
 
17
                 if self:inTargetArea() then
 
18
                    self.image = 'data/cursor-target.png'
 
19
                 else
 
20
                    self.image = 'data/cursor.png'
 
21
                 end
 
22
              end,
 
23
   onEndFrame = function(self)
 
24
                   self.x = love.mouse.getX() + 8 + the.player.x - the.app.width / 2
 
25
                   self.y = love.mouse.getY() + 8 + the.player.y - the.app.height / 2
 
26
                end
 
27
}
 
 
b'\\ No newline at end of file'