Menu
CoddyTech

輪郭と角

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

これまでの図形はすべて塗りつぶされていました。図形に幅を指定すると、pygameはその幅(ピクセル単位)で輪郭だけを描画します。

pygame.draw.rect(screen, (240, 240, 240), (100, 100, 120, 60), 2)
pygame.draw.circle(screen, (240, 240, 240), (300, 130), 30, 2)

幅を0にするか、幅を指定しないと、図形は塗りつぶされます。これは長方形、円、多角形で同じように機能します。

長方形の角を丸くすることもできます。border_radiusは各角の曲線の半径をピクセル単位で表します。他の引数の後に、名前を指定して渡します。

pygame.draw.rect(screen, (80, 160, 255), (100, 200, 120, 60), border_radius=10)

ボタン、パネル、体力バーでは、塗りつぶした角丸の枠に細い輪郭を付けることがよくあります。

challenge icon

チャレンジ

簡単

四角形をボタンにしましょう:

  1. 青い四角形にborder_radius=12を指定します。
  2. その後、(130, 130, 220, 80)に、幅3ピクセルの白い(240, 240, 240)の輪郭を、border_radius=16で描きます。

自分で試してみよう

import pygame

pygame.init()
screen = pygame.display.set_mode((480, 360))
pygame.display.set_caption("Button")
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.draw.rect(screen, (80, 160, 255), (140, 140, 200, 60))
    pygame.display.flip()
    clock.tick(60)

pygame.quit()

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

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