ํ™”๋ฉด์— ์ด๋ฏธ์ง€ ๋„์šฐ๊ธฐ
๋ฐฐ์šฐ๊ธฐ
13 ํŒŒ์ด์ฌ - Pygame
ํ™”๋ฉด์— ์ด๋ฏธ์ง€ ๋„์šฐ๊ธฐ

Pygame ์ด๋ž€ ํŒŒ์ด์ฌ์—์„œ ๊ฒŒ์ž„์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋„๋ก ๋„์™€์ฃผ๋Š” ํ”„๋ ˆ์ž„์›Œํฌ์ž…๋‹ˆ๋‹ค.

๋ชจ๋“ˆ์—์„œ ์•Œ์•„๋ดค๋“ฏ์ด ์–ด๋–ค ๋ชจ๋“ˆ์„ ๊ฐ€์ ธ์˜ค๋ ค๋ฉด import๋ผ๋Š” ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ์•ผ ํ•ฉ๋‹ˆ๋‹ค.
init()์€ ๊ฐ€์ ธ์˜จ pygame ๋ชจ๋“ˆ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ์ค€๋น„ํ•˜๋Š” ๊ณผ์ •์ž…๋‹ˆ๋‹ค.
์ž ๊ธˆ ์˜์—ญ
์‹คํ–‰ ์–ธ์–ด: py
๊ฒŒ์ž„์ด ์ž‘๋™ํ•˜๋ ค๋ฉด ํ™”๋ฉด์ด ์žˆ์–ด์•ผ ํ•˜๊ฒ ์ฃ ? pygame์˜ display๋Š” ํ™”๋ฉด์„ ์กฐ์ž‘ํ•  ์ˆ˜ ์žˆ๋„๋ก ๋„์™€์ค๋‹ˆ๋‹ค. 
set_mode ํ•จ์ˆ˜๋Š” ์šฐ๋ฆฌ๊ฐ€ ์‚ฌ์šฉํ•  ํ™”๋ฉด์˜ ํฌ๊ธฐ๋ฅผ ์ง€์ •ํ•  ์ˆ˜ ์žˆ๋„๋ก ๋„์™€์ค๋‹ˆ๋‹ค.
window๋ผ๋Š” ๋ณ€์ˆ˜์— ๊ฒŒ์ž„ ํ™”๋ฉด์„ ์ €์žฅํ•ด๋ด…์‹œ๋‹ค.
์ž ๊ธˆ ์˜์—ญ
์‹คํ–‰ ์–ธ์–ด: py

๊ฒŒ์ž„์ด ์ง€์†์ ์œผ๋กœ ์ง„ํ–‰๋˜๋ ค๋ฉด ํ”„๋กœ๊ทธ๋žจ์ด ์ข…๋ฃŒ๋˜์ง€ ์•Š๊ณ  ๊ณ„์† ์ž‘๋™ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ ‡๊ธฐ ๋•Œ๋ฌธ์— ์šฐ๋ฆฌ๋Š” ์•ž์„œ ๋ฐฐ์› ๋˜ ๋ฐ˜๋ณต๋ฌธ์„ ์‚ฌ์šฉํ•  ์˜ˆ์ •์ž…๋‹ˆ๋‹ค.

์šฐ๋ฆฌ๊ฐ€ ๋ฐฐ์› ๋Š” ๋ฐ˜๋ณต๋ฌธ์€ for ๋ฌธ์ด์—ˆ์ฃ ? whild๋„ for์™€ ๊ฐ™์ด ์ฝ”๋“œ๋ฅผ ๋ฐ˜๋ณตํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ค๋‹ˆ๋‹ค. while ๋’ค์— ์žˆ๋Š” ์กฐ๊ฑด๋ฌธ์— ๊ฒฐ๊ณผ์— ๋”ฐ๋ผ ๋ฐ˜๋ณตํ•  ๊ฒƒ์ธ๊ฐ€ ์•„๋‹Œ๊ฐ€๋ฅผ ๊ฒฐ์ •ํ•˜์ฃ .

์ž ๊ธˆ ์˜์—ญ
์‹คํ–‰ ์–ธ์–ด: py
์‹คํ–‰ ๊ฒฐ๊ณผ๋ฅผ ํ™•์ธํ•ด๋ณด์„ธ์š”!
๋งŒ์•ฝ ํ”„๋กœ๊ทธ๋žจ์ด ์ข…๋ฃŒ๋˜์—ˆ๋‹ค๋ฉด while์˜ ๋ฐ˜๋ณต์„ ์ค‘๋‹จ ์‹œ์ผœ์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ ‡๊ธฐ ๋•Œ๋ฌธ์— ์šฐ๋ฆฌ๋Š” is_end๋ผ๋Š” ๋ณ€์ˆ˜์— ๋ธ”๋ฆฌ์–ธ ๊ฐ’์„ ์ด์šฉํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค.
์ž ๊ธˆ ์˜์—ญ
์‹คํ–‰ ์–ธ์–ด: py
pygame์˜ event์—๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ์–ด๋–ค ํ‚ค๋ฅผ ๋ˆŒ๋ €๋Š”์ง€, ๋ฌด์Šจ ์ผ์„ ํ–ˆ๋Š”์ง€ ์•Œ ์ˆ˜ ์žˆ๋Š” ์ด๋ฒคํŠธ๊ฐ€ ๋‹ด๊ฒจ์žˆ์Šต๋‹ˆ๋‹ค. get()์œผ๋กœ ๋ชจ๋“  ์ด๋ฒคํŠธ๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ์ฃ .
๊ฐ€์ ธ์˜จ ์ด๋ฒคํŠธ ์ค‘ QUIT(๊ทธ๋งŒ๋‘๋‹ค)๊ฐ€ ์žˆ๋‹ค๋ฉด ์–ด๋–กํ•ด์•ผ ํ• ๊นŒ์š”? is_end์˜ ๊ฐ’์„ ๋ณ€๊ฒฝํ•ด์„œ ํ”„๋กœ๊ทธ๋žจ์„ ์ข…๋ฃŒ ์‹œ์ผœ์ฃผ๋ฉด ๋˜๊ฒ ์ฃ ?
์ž ๊ธˆ ์˜์—ญ
์‹คํ–‰ ์–ธ์–ด: py
๋งŒ์•ฝ ์ข…๋ฃŒ๋˜์ง€ ์•Š์•˜๋‹ค๋ฉด, ๊ฒŒ์ž„ ํ™”๋ฉด์„ ๊ณ„์† ์ƒˆ๋กญ๊ฒŒ ๊ทธ๋ ค์ฃผ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. update()๋Š” ํ™”๋ฉด์„ ๊ณ„์† ์ƒˆ๋กญ๊ฒŒ ๋งŒ๋“ค์–ด ์ค๋‹ˆ๋‹ค.
์šฐ๋ฆฌ๊ฐ€ ๋งŒ๋“  ๊ฒŒ์ž„ ํ™”๋ฉด์— ์ด๋ฏธ์ง€๋ฅผ ๋„ฃ์–ด๋ณด์ฃ .
ํ‰์†Œ์— ํ•˜๋˜ ๊ฒŒ์ž„์„ ํ•œ๋ฒˆ ์ƒ๊ฐํ•ด๋ณด์„ธ์š”. ๋ฐฐ๊ฒฝํ™”๋ฉด, ์บ๋ฆญํ„ฐ, ๋ฌด๊ธฐ, ์  ๋“ฑ๋“ฑ ๋งŽ์€ ์ด๋ฏธ์ง€๊ฐ€ ์›€์ง์ด๊ณ  ์ƒํ˜ธ ์ž‘์šฉ์„ ํ•˜์ฃ ?
pygame์˜ image๋Š” ์ด๋ ‡๊ฒŒ ๊ฒŒ์ž„์— ํ•„์š”ํ•œ ์ด๋ฏธ์ง€๋“ค์„ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๋„๋ก ๋„์™€์ค๋‹ˆ๋‹ค.
์ž ๊ธˆ ์˜์—ญ
์‹คํ–‰ ์–ธ์–ด: py

load()๋Š” ํ•„์š”ํ•œ ์ด๋ฏธ์ง€๋ฅผ ๋ถˆ๋Ÿฌ์™€์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ด์ค๋‹ˆ๋‹ค.

์บ๋ฆญํ„ฐ์˜ ์œ„์น˜ ํ˜น์€ ์ƒํ™ฉ์— ๋”ฐ๋ผ ์ด๋ฏธ์ง€๋ฅผ ๊ณ„์† ์ƒˆ๋กญ๊ฒŒ ๊ทธ๋ ค์ฃผ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ ‡๊ธฐ ๋•Œ๋ฌธ์— ์ด๋ฏธ์ง€๋ฅผ ๊ทธ๋ฆฌ๋Š” ํ•จ์ˆ˜๋ฅผ ๋”ฐ๋กœ ์ •์˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์šฐ๋ฆฌ๊ฐ€ ๋งŒ๋“ค์—ˆ๋˜ ๊ฒŒ์ž„ ํ™”๋ฉด(window)์— blit๋ฅผ ์ด์šฉํ•ด ๊ฐ€์ ธ์˜จ ์ด๋ฏธ์ง€๋ฅผ ๊ทธ๋ฆด ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋์— ๋ณด์ด๋Š” 50, 50๋Š” ๊ทธ๋ฆผ์„ ๊ทธ๋ฆด ์œ„์น˜๋ฅผ ๋œปํ•ฉ๋‹ˆ๋‹ค.

์ž ๊ธˆ ์˜์—ญ
์‹คํ–‰ ์–ธ์–ด: py

์บ๋ฆญํ„ฐ๋ฅผ ๊ทธ๋ฆฌ๊ธฐ ์ „์— ๋ฐฐ๊ฒฝ์ƒ‰์„ ์น ํ•ด๋ณผ๊นŒ์š”? fill์€ ํ™”๋ฉด์— ์›ํ•˜๋Š” ์ƒ‰์ƒ์˜ ํŽ˜์ธํŠธ๋กœ ๋ฐฐ๊ฒฝ์„ ์น ํ•ด์ค๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์— ์‚ฌ์šฉ๋˜๋Š” ์ƒ‰์ƒ์„ RGB ๊ฐ’์„ ์ด์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ผ๋‹จ ํฐ์ƒ‰์œผ๋กœ ์น ํ•ด ๋ณด์ฃ .

์ž ๊ธˆ ์˜์—ญ
์‹คํ–‰ ์–ธ์–ด: py
์ด์ œ ์•„๊นŒ ๋งŒ๋“ค์—ˆ๋˜ drow_image ํ•จ์ˆ˜๋ฅผ ์ด์šฉํ•ด์„œ ์บ๋ฆญํ„ฐ๋ฅผ ๊ทธ๋ ค์ค„ ์ฐจ๋ก€์ž…๋‹ˆ๋‹ค.
์ž ๊ธˆ ์˜์—ญ
์‹คํ–‰ ์–ธ์–ด: py
์—ฌ๊ธฐ๊นŒ์ง€ ์™„์„ฑ๋œ ๋‚ด์šฉ์ž…๋‹ˆ๋‹ค.
์ž ๊ธˆ ์˜์—ญ
์‹คํ–‰ ์–ธ์–ด: py
์งˆ๋ฌธํ•˜๊ธฐ
์ถ”๊ฐ€ ์ž๋ฃŒ
no files uploaded

์ถ”๊ฐ€ ์ž๋ฃŒ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค

์—ฌ๊ธฐ์„œ ์ƒˆ๋กœ์šด ํ•™์Šต ์ž๋ฃŒ๋ฅผ ํ™•์ธํ•˜์„ธ์š”!
์„ ์ƒ๋‹˜์ด ์ถ”๊ฐ€ํ•œ ์ž๋ฃŒ๋“ค์„ ๋ฐ”๋กœ ํ™•์ธํ•  ์ˆ˜ ์žˆ์–ด์š”.