輪郭と角
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)ボタン、パネル、体力バーでは、塗りつぶした角丸の枠に細い輪郭を付けることがよくあります。
チャレンジ
簡単四角形をボタンにしましょう:
- 青い四角形に
border_radius=12を指定します。 - その後、
(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プレイグラウンド