2つのパドル
Coddyの「Pygameでゲームを作ろう」コースのレッスン 31/40。
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でゲームを作ろうのすべてのレッスン
自分で練習してみよう: Pygameプレイグラウンド