Advertisement
alestane

Stateless line limiter

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