Menu
CoddyTech

クリックして追加

CoddyのPygameジャーニー「ゲームウィンドウで学ぶPython」セクションの一部。レッスン 25/32。

ゲームの実行中にリストを増やすことができます。stars.append(item)は項目を末尾に追加します。

マウスクリックはイベントループにMOUSEBUTTONDOWNイベントとして届き、event.posはクリックが発生した位置を表す(x, y)タプルです。

for event in pygame.event.get():
    if event.type == pygame.QUIT:
        running = False
    if event.type == pygame.MOUSEBUTTONDOWN:
        stars.append(event.pos)

クリックするたびに位置が1つ追加されます。描画部分ではすでにリスト内のすべての星を描画するため、新しい星は次のフレームに表示され、リストに保持されるのでそのまま残ります。

リストはセットアップ部分で空の状態から始まります。stars = []。ゲームループ内で作成すると、毎フレーム空になり、星はすぐに消えてしまいます。

challenge icon

チャレンジ

簡単

イベントループでMOUSEBUTTONDOWNイベントが発生したら、event.posをstarsに追加します。クリックするたびに白い星が配置されます。

自分で試してみよう

import pygame

pygame.init()
screen = pygame.display.set_mode((640, 480))
pygame.display.set_caption("Night Sky")
clock = pygame.time.Clock()

# ゲームループの前に、ここで準備をします。
stars = []

running = True
while running:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            running = False

    # 各フレームで、ここで内容を変更します。

    screen.fill((20, 24, 48))
    # 塗りつぶした後、ここで描画します。
    for star in stars:
        pygame.draw.circle(screen, (255, 255, 255), star, 5)

    pygame.display.flip()
    clock.tick(60)

pygame.quit()

ゲームウィンドウで学ぶPythonのすべてのレッスン

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