円、線、多角形
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つならひし形になります。
チャレンジ
簡単塗りつぶしの後に、海に浮かぶ帆船を描きます。
- 太陽:黄色の円
(255, 196, 0)を(380, 80)を中心に半径40で描きます。 - 海:青色の線
(80, 160, 255)を(0, 280)から(480, 280)まで、太さ4ピクセルで描きます。 - 帆:赤色の多角形
(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プレイグラウンド