Skip to content

Instantly share code, notes, and snippets.

@mahan
Created September 1, 2016 11:32
Show Gist options
  • Save mahan/c666fd301ea998c5a0a3a3fc24d4b9d5 to your computer and use it in GitHub Desktop.
Save mahan/c666fd301ea998c5a0a3a3fc24d4b9d5 to your computer and use it in GitHub Desktop.
function RotateSprite(s as integer, ang as integer)
if (ang < 0) or (ang >= 360) then ang = mod(abs(ang), 360)
if not (mod(ang, 90) = 0) then ang = Trunc(ang / 90) * 90
cx as integer
cy as integer
select ang
case 0
cx = 0
cy = 0
endcase
case 90
cx = 0
cy = GetSpriteHeight(s)
endcase
case 180
cx = GetSpriteWidth(s)
cy = GetSpriteHeight(s)
endcase
case 270
cx = GetSpriteWidth(s)
cy = 0
endcase
endselect
SetSpriteOffset(s, cx, cy)
SetSpritePosition(s, GetSpriteX(s)-cx, GetSpriteY(s)-cy)
SetSpriteAngle(s, ang)
endfunction
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment