draw_sprite_part
draw_sprite_part_ext
์ฐ๋ฉด, ๋ค๋ชจ๋ ๊ณต๊ฐ์์ ์๊ธฐ๊ฐ ์ํ๋ ๋ถ๋ถ๋ง ์งค๋ผ์ ๋๋ก์ฐ ํ ์ ์์ด์,
์ด๋ฅผ ์ด์ฉํด ์ง๋๋ฅผ ๋ง๋ค๊ณ ์์์
๊ทธ๋์ ์กฐ๊ทธ๋ง ์์ด์ฝ๋ค๋ ์ฌ๊ธฐ๋ค ๋๋ ค๋ฐ๊ณ ํ๋๋ฐ, ๋ฐฉํฅ ๋ถ๋ถ์ด ์์
๊ทธ๋์ ์ด๊ฑฐ ์จ๋ดค๋๋ฐ
draw_sprite_general
์ด๊ฑฐ๋ ๋ฐฉํฅ ๋ถ๋ถ์ direction ๋ฃ๊ณ ํด๋ดค๋๋ ๊ทธ๋ฆผ์ด 0,0 ๋ถ๋ถ์์ ํฌ๊ฒ ํ์ ํจ, ๊ทธ๋ฌ๋๊น ๋ด๊ฐ ์ํ๋ ๋ค๋ชจ๋ ๊ณต๊ฐ์ด ํต์งธ๋ก ํ์ ํด์, ์๋ ๊ทธ๋ ค์ ธ์ผ ํ๋ ๋ถ๋ถ์ ์์ ธ๋๊ฐ.
๋ด๊ฐ ๊ทธ๋ฆฌ๋ ค๊ณ ํ๋ ์คํ๋ผ์ดํธ๋ง ํ์ ์ํค๋ ํจ์๋ ์์? ์์ผ๋ฉด ์คํ๋ผ์ดํธ ๋ฐฉํฅ๋ณ๋ก 359์ฅ ๋ง๋ค์ด์ subimg์ ๋ฐฉํฅ ๋ฃ๊ณ ๋ง๋ค๊ฑฐ์
์๋ผ๋ธ ์คํ๋ผ์ดํธ๋ฅผ ํ์ ์์ผ์ผ ํ๋ ๊ฒฝ์ฐ์? ๊ทธ๋ผ ๋ด๋ถ ํจ์๋ก๋ ๋ต ์๊ณ ์ํผ์ค ์จ์ผ๋จ
์ํผ์ค์ ํด๋น ์คํ๋ผ์ดํธ์ ๋ถ๋ถ์ ๊ทธ๋ ค์ค -> ๊ทธ ์ํผ์ค๋ฅผ sprite_create_from_surface๋ก ์คํ๋ผ์ดํธ๋ก ๋ง๋ค์ด์ ๊ทธ ์คํ๋ผ์ดํธ์ ์ธ๋ฑ์ค๋ฅผ ๋ณ์๋ ๋ญ๋ ๋ฐ๋ก ์ ์ฅ -> ๋ง๋ ์คํ๋ผ์ดํธ๋ฅผ draw_sprite_ext๋ก ๋๋ ค์ฃผ๋ฉด๋จ
๋ฐ๋ก ์คํ๋ผ์ดํธ๋ก ๋ง๋ค์ง ์๊ณ ์ํผ์ค ๊ทธ ์์ฒด๋ฅผ draw_surface_ext๋ก ๊ทธ๋ ค๋ฒ๋ฆฌ๋ ๊ฒฝ์ฐ๋ ์๋๋ฐ ์ด๊ฒฝ์ฐ์ ์ํผ์ค๋ฅผ ์ง์์ ์ผ๋ก ์ฌ์ฉํ๊ฒ ๋์ ๋ชจ๋ฐ์ผ์ผ ๊ฒฝ์ฐ fps๊ฐ ์น์ฐฝ๋จ, ์ฐจ๋ผ๋ฆฌ ๋ก๋ฉํ ๋ sprite๋ก ๋ค ๋ง๋ค์ด ๋๊ณ ํ์ํ ๋๋ง๋ค ๋ถ๋ฅด๋๊ฒ ๋์
๊ทธ๋ฅ ์คํ๋ผ์ดํธ 359๊ฐ ๋ง๋ค๊ฒ ์คํ๋ผ์ดํธ ๊ฐ์์ง์ด๋ผ 360๊ฐ ๋ฐฉํฅ๋ณ๋ก ๋๋ ์ฃผ๋ ๊ธฐ๋ฅ๋ ์๋๋ผ