파이게임에서 원 그리기

Maxim Maeder 2024년2월15일
  1. 파이게임에서 원 그리기
  2. 파이게임에서 반원 그리기
파이게임에서 원 그리기

이 튜토리얼은 파이게임에서 원을 그리는 방법을 알려줍니다.

여기에 표시된 코드는 유효한 파이게임 창에 대한 완전한 코드가 아닙니다. 베어본 프레임워크에 관심이 있다면 이 문서를 참조하십시오.

파이게임에서 원 그리기

원을 그리려면 Surface, Color, Center, Radius 인수를 제공하는 pygame.draw.circle 메서드만 필요합니다. 첫 번째는 우리가 그리려는 표면입니다.

예제에서는 화면에 그리지만 모든 표면을 사용할 수 있습니다. 그런 다음 배열을 사용하여 RGB 방식으로 색상을 정의합니다.

앞서 언급한 서피스에서 원 중심 위치를 정의하여 계속합니다. 마지막으로 반지름을 정의합니다.

이 코드는 게임의 메인 루프에서 실행된다는 점을 명심하십시오.

코드 조각:

pygame.draw.circle(
    screen,  # Surface to draw on
    [100, 100, 100],  # Color in RGB Fashion
    [100, 100],  # Center
    20,  # Radius
)

출력:

Pygame에서 원 그리기 - 출력

파이게임에서 반원 그리기

반원을 만들고 싶을 수도 있습니다. pygame.draw.circle 메서드를 사용하여 이를 수행할 수도 있습니다.

더 많은 인수를 제공하면 됩니다. draw_top_right, draw_top_left, draw_bottom_left, draw_bottom_right. 이름에서 알 수 있듯이 이번 분기의 추첨 여부를 정의합니다.

이것이 여기서 우리가 부울을 사용하는 이유입니다. 그 중 하나를 true로 정의하면 나머지는 그려지지 않지만 동시에 여러 모서리를 정의할 수 있습니다.

다음 코드는 원의 윗부분을 그립니다.

코드 조각:

pygame.draw.circle(
    screen,  # Surface to draw on
    [100, 100, 100],  # Color in RGB Fashion
    [100, 100],  # Center
    20,  # Radius
    draw_top_right=True,
    draw_top_left=True,
)

출력:

Pygame에서 반원 그리기 - 출력

완전한 예제 코드

# Imports
import sys
import pygame

# Configuration
pygame.init()
fps = 60
fpsClock = pygame.time.Clock()
width, height = 640, 480
screen = pygame.display.set_mode((width, height))

# Game loop.
while True:
    screen.fill((20, 20, 20))
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            pygame.quit()
            sys.exit()

    pygame.draw.circle(
        screen,  # Surface to draw on
        [100, 100, 100],  # Color in RGB Fashion
        [100, 100],  # Center
        20,  # Radius
        draw_top_right=True,
        draw_top_left=True,
    )

    pygame.display.flip()
    fpsClock.tick(fps)
작가: Maxim Maeder
Maxim Maeder avatar Maxim Maeder avatar

Hi, my name is Maxim Maeder, I am a young programming enthusiast looking to have fun coding and teaching you some things about programming.

GitHub

관련 문장 - Pygame Draw