Pygame で円を描く

Maxim Maeder 2023年6月21日
  1. Pygame で円を描く
  2. Pygame で半円を描く
Pygame で円を描く

このチュートリアルでは、Pygame で円を描く方法を説明します。

ここに表示されるコードは、有効な Pygame ウィンドウの完全なコードではありません。 必要最小限のフレームワークに興味がある場合は、この 記事 を参照してください。

Pygame で円を描く

円を描くには、次の引数を提供する pygame.draw.circle メソッドのみが必要です: SurfaceColorCenterRadius。 最初のものは、描画したい表面です。

この例では画面に描画しますが、任意のサーフェスを使用できます。 次に、配列を使用して RGB 形式で色を定義します。

引き続き、前述のサーフェス上の円の中心位置を定義します。 最後になりましたが、半径を定義します。

このコードはゲームのメイン ループで実行されることに注意してください。

コードスニペット:

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

出力:

Pygame で円を描く - 出力

Pygame で半円を描く

たぶん、あなたは半円を作りたいと思うでしょう。 pygame.draw.circle メソッドでこれを行うこともできます。

draw_top_right, draw_top_left, draw_bottom_left, draw_bottom_right. その名前が示すように、この四半期が抽選されるかどうかを定義します。

そのため、ここでブール値を使用します。 それらの 1つを 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