Pygameでマウスを操作しよう
今回は画面上にある円を、マウスを使って動かすプログラムを作成しましょう。
マウスの動きをイベントでキャッチして、マウスのポインタの位置を中心とした円を描画します。
マウスの動きに合わせて円を動かすプログラム
画面に円を表示して、それをマウスの動きに合わせて移動させるプログラムです。
pygame.event.get()を使ってイベントを取得し、イベントの種類がMOUSEMOTIONであれば、マウスの移動イベントということが分かります。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 |
### インポート import sys import pygame from pygame.locals import * ### 定数 WIDE = 640 # 画面横サイズ HIGHT = 400 # 画面縦サイズ R_SIZE = 50 # 円半径 W_TIME = 10 # 待ち時間 ### 画面初期化 pygame.init() surface = pygame.display.set_mode((WIDE, HIGHT)) ### 変数初期化 x = WIDE/2 # 横座標 y = HIGHT/2 # 縦座標 ### マウスカーソル非表示 pygame.mouse.set_visible(False) ### マウスカーソル初期位置 pygame.mouse.set_pos((x, y)) ### 無限ループ while True: ### 画面描画 surface.fill((0,0,0)) pygame.draw.circle(surface, (255,255,255), (x,y), R_SIZE, 0) pygame.display.update() pygame.time.wait(W_TIME) ### イベント取得 for event in pygame.event.get(): ### マウスイベント if event.type == MOUSEMOTION: ### マウス位置取得 x,y = event.pos ### 終了処理 if event.type == QUIT: pygame.quit() sys.exit() |
プログラムを実行すると、マウスの動きに合わせて円が動きます。
pygameのマウス操作に関しては、英語ですが以下のpygame公式サイトを参照してください。