GetAngle by Steve Ancell7th Oct 2011 17:09
|
---|
Summary A simple function that returns an angle between two points. Additional info: Download the attached "arrow.PNG" file and place it in the "media" directory of the project that you pa Description Code ` This code was downloaded from The Game Creators ` It is reproduced here with full permission ` http://www.thegamecreators.com SetVirtualResolution(600, 800) LoadImage(1, "arrow.PNG") CreateSprite(1, 1) SetSpriteOffset(1, GetImageWidth(1) / 2, GetImageHeight(1) / 2) SetSpritePositionByOffset(1, GetVirtualWidth() / 2, GetVirtualHeight() / 2) do if GetRawKeyPressed(27) = 1 or GetPointerState() = 1 CleanUp() exit endif UpdateSprite() sync() loop function GetAngle(x1, y1, x2, y2) result = ATanFull(x1 - x2, y1 - y2) endfunction result function UpdateSprite() if GetRawKeyState(37) = 1 SetSpritePositionByOffset(1, GetSpriteXByOffset(1) - 1, GetSpriteYByOffset(1)) endif if GetRawKeyState(38) = 1 SetSpritePositionByOffset(1, GetSpriteXByOffset(1), GetSpriteYByOffset(1) - 1) endif if GetRawKeyState(39) = 1 SetSpritePositionByOffset(1, GetSpriteXByOffset(1) + 1, GetSpriteYByOffset(1)) endif if GetRawKeyState(40) = 1 SetSpritePositionByOffset(1, GetSpriteXByOffset(1), GetSpriteYByOffset(1) + 1) endif angle = GetAngle(GetPointerX(), GetPointerY(), GetSpriteX(1), GetSpriteY(1)) SetSpriteAngle(1, angle) endfunction function CleanUp() DeleteSprite(1) DeleteImage(1) endfunction |