Skip to content

Instantly share code, notes, and snippets.

@KinoAR
Last active February 16, 2021 19:02
Show Gist options
  • Star 2 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save KinoAR/b01d9a2600c0cc53e591e3b6202ceaec to your computer and use it in GitHub Desktop.
Save KinoAR/b01d9a2600c0cc53e591e3b6202ceaec to your computer and use it in GitHub Desktop.
The Pico-8 code showing off rotations math.
--rotations by eis - kino
--globals
--The sprites, the position (x and y) of both star1 and star2
star1 ={sprite=2, x = 58, y = 58}
star2 ={sprite=3, x = 0, y = 0}
degrees = 0
function _update()
--Here we rotate star2 around star1 by giving rotate star1's position(x, y).
rotate(star1.x, star1.y, 10, star2)
end
function _draw()
cls()
map(0,0,0,0,16,16)
spr(star1.sprite, star1.x, star1.y)
spr(star2.sprite, star2.x, star2.y)
end
-- rotation logic
function rotate(x, y, radius, star)
degrees += 0.05
--We update star's position by incrementing the degrees and using our formula
-- x + (radius * cosine(degrees)) = a point on the edge of the circle in the x-axis
-- y + (radius * sine(degrees)) = a point of the edge of the circle in the y-axis
star.x = x + (radius * cos(degrees))
star.y = y + (radius * sin(degrees))
end
--draw debug inforatmion
function drawdebug()
print("star2\nx: "..star2.x.." y: "..star2.y)
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment