2つのパドル
CoddyのPygameジャーニー「プロジェクト」セクションの一部。レッスン 13/31。
2人のプレイヤーで1つのキーボードを共有します。左側のプレイヤーはWキーとSキー、右側のプレイヤーは上矢印キーと下矢印キーを使います。それぞれのパドルは、上下にのみ動くRectです。
left = pygame.Rect(20, 160, 12, 80)
right = pygame.Rect(568, 160, 12, 80)文字キーは小文字のpygame.K_w、pygame.K_sなどです。1回のpygame.key.get_pressed()から4つのキーすべての状態を読み取り、両方のプレイヤーが同時にキーを押し続けられるようにします。
バスケットのときと同じように、clamp_ipを使って両方のパドルをウィンドウ内に収めます。
チャレンジ
簡単- ループの前に、
left = pygame.Rect(20, 160, 12, 80)とright = pygame.Rect(568, 160, 12, 80)を作成します。 - W と S キーで
leftを上下に 6 ピクセル動かし、上矢印キーと下矢印キーでrightを動かします。両方ともウィンドウ内に収めます。 leftを青色(80, 160, 255)で、rightを赤色(235, 80, 80)で描画します。
自分で試してみよう
import pygame
pygame.init()
screen = pygame.display.set_mode((600, 400))
pygame.display.set_caption("Pong")
clock = pygame.time.Clock()
ball = pygame.Rect(293, 193, 14, 14)
vx, vy = 5, 4
running = True
while running:
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False
ball.x += vx
ball.y += vy
if ball.top <= 0 or ball.bottom >= 400:
vy = -vy
screen.fill((30, 30, 46))
pygame.draw.rect(screen, (255, 196, 0), ball)
pygame.display.flip()
clock.tick(60)
pygame.quit()
プロジェクトのすべてのレッスン
自分で練習してみよう: Pygameプレイグラウンド