Advertisement
lvs

Untitled

lvs
Sep 16th, 2011
93
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 2.10 KB | None | 0 0
  1.     function miniMapObject:init(zoom)
  2.         if not zoom then zoom = 1 end
  3.  
  4.         self.miniMap = game:newImage('media/images/ui/minimap.png', nil, 0, 0, 'TopLeft')
  5.         self.miniMap.x, self.miniMap.y = -10 * _S, -25 * _S
  6.  
  7.         self.viewPort = display.newRoundedRect(0, 0, width * zoom, height * zoom, 5)
  8.         game:setRP(self.viewPort, 'TopLeft')
  9.         self.viewPort.x = 0
  10.         self.viewPort.y = 0
  11.  
  12.  
  13.         self.eventFocused = false
  14.         local function miniMapTouched (event)
  15.             if event.phase == 'began' then
  16.                 display.getCurrentStage():setFocus(self.miniMap, event.id)
  17.                 self.eventFocused = true
  18.             end
  19.             if event.phase == 'ended' or event.phase == 'cancelled' then
  20.                 display.getCurrentStage():setFocus(nil)
  21.                 self.eventFocused = false
  22.             end
  23.             if event.phase ~= 'ended' and self.eventFocused then
  24.                 local lx, ly = self:contentToLocal(event.x, event.y)
  25.                 game.map:panMap(lx / width, ly / height)
  26.                 return true
  27.             end
  28.         end
  29.         self.miniMap:addEventListener('touch', miniMapTouched)
  30.         -- Prevent tap ivents from passing through
  31.         self.miniMap:addEventListener('tap', function () return true end)
  32.  
  33.         miniMapObject:insert(self.miniMap)
  34.         miniMapObject:insert(self.timeLabel)
  35.  
  36.  
  37.     -- Updates view port position and size
  38.     -- this is called from mapGroupObject
  39.     function miniMapObject:update(x, y, xScale, yScale)
  40.         self.viewPort.xScale = 1 / xScale
  41.         self.viewPort.yScale = 1 / yScale
  42.         local offsetX = -x * self.viewPort.width
  43.         local offsetY = -y * self.viewPort.height
  44.         if offsetX > self.miniMap.width - self.viewPort.contentWidth then offsetX = self.miniMap.width - self.viewPort.contentWidth end
  45.         if offsetY > self.miniMap.height - self.viewPort.contentHeight then offsetY = self.miniMap.height - self.viewPort.contentHeight end
  46.         self.viewPort.x = offsetX
  47.         self.viewPort.y = offsetY
  48.         self.timeLabel.text = os.date('%H:%M')
  49.     end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement