Advertisement
alestane

Factory line limiter

Feb 7th, 2012
156
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.  -- drafter.lua -- factory approach
  2.  
  3. local drafter = {}
  4.  
  5. function drafter.line(maxLength)
  6.     return function(startX, startY, endX, endY)
  7.         local deltaX, deltaY = endX - startX, endY - startY
  8.         local requestedLength = math.sqrt(deltaX * deltaX + deltaY * deltaY)
  9.         if requestedLength > maxLength then
  10.             local ratio = maxLength / requestedLength
  11.             endX, endY = startX + deltaX * ratio, startY + deltaY * ratio
  12.         end
  13.         display.newLine(startX, startY, endX, endY)
  14.     end
  15. end
  16.  
  17. return drafter
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement