Last active
October 23, 2021 16:20
-
-
Save Liquidream/1b419261dc324708f008f24ee6d13d7b to your computer and use it in GitHub Desktop.
Useful sprite draw function for PICO-8 (and maybe Lua in general)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
-- | |
-- draws a sprite to the screen with an outline of the specified colour | |
-- | |
function outline_sprite(n,col_outline,x,y,w,h,flip_x,flip_y) | |
-- reset palette to black | |
for c=1,15 do | |
pal(c,col_outline) | |
end | |
-- draw outline | |
for xx=-1,1 do | |
for yy=-1,1 do | |
spr(n,x+xx,y+yy,w,h,flip_x,flip_y) | |
end | |
end | |
-- reset palette | |
pal() | |
-- draw final sprite | |
spr(n,x,y,w,h,flip_x,flip_y) | |
end |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Two comments: first, the function above does one unnecessary draw operation (when
xx==0 and yy==0
in the loop - that whole draw call will later be covered by thedraw final sprite
call at the end)Second, if you are willing to let go of some corners, you can get a pretty decent-looking outline with only 4 draw operations: