True 또는 False
Coddy Pygame 여정의 게임 창에서 배우는 Python 섹션에 포함된 레슨. 32개 중 14번째.
True와 False는 각각 독립된 값이며, 불리언이라고 합니다. 스위치처럼 변수에 이 중 하나를 담을 수 있습니다.
lamp_on = Falseif는 값을 직접 검사할 수 있습니다. if lamp_on:은 해당 값이 True일 때 실행됩니다. not은 값을 뒤집으므로, lamp_on = not lamp_on은 램프를 켜고 끕니다.
스위치에는 키를 누르고 있는 것이 아니라 키를 누르는 동작이 필요합니다. get_pressed()는 키를 누르고 있는 모든 프레임에서 True이므로, 램프가 초당 60번 전환될 수 있습니다. 키를 누르면 게임 루프 맨 위의 이벤트 루프에서 KEYDOWN 이벤트가 한 번 발생합니다.
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False
if event.type == pygame.KEYDOWN and event.key == pygame.K_SPACE:
lamp_on = not lamp_on2장에서는 이벤트를 자세히 설명합니다. 지금은 event.type은 무슨 일이 일어났는지를 나타내고, event.key는 어떤 키인지 나타낸다는 점만 알아두세요.
챌린지
중급Space 키를 눌러 램프를 전환하세요:
- 설정 부분에서
lamp_on = False로 설정하세요. - 이벤트 루프에서
K_SPACE에 대한KEYDOWN이벤트가 발생하면lamp_on = not lamp_on으로 설정하세요. (320, 290)위치에 반지름이 30인 빛을 그리세요.lamp_on이 True이면(255, 220, 100)을, 그렇지 않으면(70, 70, 90)을 사용하세요.
직접 해보기
import pygame
pygame.init()
screen = pygame.display.set_mode((640, 480))
pygame.display.set_caption("Night Sky")
clock = pygame.time.Clock()
# 게임 루프가 시작되기 전에 여기서 필요한 것들을 설정하세요.
running = True
while running:
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False
# 프레임마다 여기서 필요한 것들을 변경하세요.
screen.fill((20, 24, 48))
# 화면을 채운 후 여기서 그리세요.
pygame.draw.rect(screen, (90, 90, 110), (310, 300, 20, 180))
pygame.draw.circle(screen, (70, 70, 90), (320, 290), 30)
pygame.display.flip()
clock.tick(60)
pygame.quit()
이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.
게임 창에서 배우는 Python의 모든 레슨
직접 연습해 보세요: Pygame 플레이그라운드