Menu
CoddyTech

円、線、多角形

CoddyのPygameジャーニー「ゲームループ」セクションの一部。レッスン 9/32。

これまでに長方形を描いてきました。pygame.drawにはほかの図形もあり、どれも同じ形式で始まります。描画するサーフェス、続いて色です。

pygame.draw.circle(screen, (255, 196, 0), (100, 80), 30)
pygame.draw.line(screen, (240, 240, 240), (0, 200), (480, 200), 3)
pygame.draw.polygon(screen, (60, 200, 120), [(240, 40), (280, 120), (200, 120)])

円には中心と半径を指定します。長方形とは異なり、左上の角ではなく中心を基準に配置されます。半径が30なら、円の直径は60ピクセルです。

線には2つの端点を指定し、最後に幅をピクセル単位で指定します。幅を指定しない場合、太さは1ピクセルです。

多角形には頂点のリストを指定すると、その間の図形が塗りつぶされ、最後の点と最初の点が結ばれます。点が3つなら三角形、4つならひし形になります。

challenge icon

チャレンジ

簡単

塗りつぶしの後に、海に浮かぶ帆船を描きます。

  1. 太陽:黄色の円 (255, 196, 0) を (380, 80) を中心に半径 40 で描きます。
  2. 海:青色の線 (80, 160, 255) を (0, 280) から (480, 280) まで、太さ 4 ピクセルで描きます。
  3. 帆:赤色の多角形 (235, 80, 80) を、頂点 (240, 120)、(240, 250)、(160, 250) で描きます。

自分で試してみよう

import pygame

pygame.init()
screen = pygame.display.set_mode((480, 360))
pygame.display.set_caption("Sailboat")
clock = pygame.time.Clock()

running = True
while running:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            running = False

    screen.fill((30, 30, 46))
    # ここに太陽、海、帆を描く
    pygame.display.flip()
    clock.tick(60)

pygame.quit()

ゲームループのすべてのレッスン

自分で練習してみよう: Pygameプレイグラウンド