정수와 소수
Coddy Pygame 여정의 게임 창에서 배우는 Python 섹션에 포함된 레슨. 32개 중 9번째.
Python에는 두 가지 종류의 숫자가 있습니다. int는 정수입니다: 3, -40, 640. float에는 소수점이 있습니다: 0.5, 2.0, 107.25.
프레임마다 1픽셀씩 움직이면 초당 60픽셀입니다. 더 느리게 움직이려면 float를 더하세요:
moon_x = moon_x + 0.5이제 moon_x는 100, 100.5, 101.0, 101.5가 됩니다. pygame은 정수 픽셀 위치에 그리므로 달은 두 프레임마다 1픽셀씩 움직입니다. 즉, 천천히 이동하여 초당 30픽셀 움직입니다.
int에 float를 더하면 float가 되며, float는 101.0처럼 항상 소수점을 표시합니다. int()는 소수점 뒤의 값을 버려 float를 int로 바꿉니다:
int(101.5) # 101챌린지
중급달이 천천히 떠다니게 하세요:
- 변경 부분에서 매 프레임마다
moon_x에0.5를 더하세요. - 레이블을 정수로 표시하세요:
f"Moon x: {int(moon_x)}".
직접 해보기
import pygame
pygame.init()
screen = pygame.display.set_mode((640, 480))
pygame.display.set_caption("Night Sky")
clock = pygame.time.Clock()
# 게임 루프 전에 여기서 필요한 것들을 설정하세요.
moon_x = 100
moon_y = 200
font = pygame.font.Font(None, 36)
running = True
while running:
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False
# 프레임마다 한 번씩 여기서 필요한 것들을 변경하세요.
screen.fill((20, 24, 48))
# 화면을 채운 후 여기서 그리세요.
pygame.draw.circle(screen, (240, 230, 160), (moon_x, moon_y), 50)
text = font.render(f"Moon x: {moon_x}", True, (230, 230, 240))
screen.blit(text, (20, 20))
pygame.display.flip()
clock.tick(60)
pygame.quit()
이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.
게임 창에서 배우는 Python의 모든 레슨
직접 연습해 보세요: Pygame 플레이그라운드