Pygame入門
Pygameでは、描画は図1のイメージで行われる。
図1
スクリーンを用意して、そこに描いた図形を画面に表示するという形になっている。
リスト1のスクリプトを実行すると、図2の画像が描かれる。
図2
リスト1では、まず、次のコードでpygameの初期化を行っている。
pg.init()
初期化後、次のコードによりスクリーンscreenが作成されている。
screen = pg.display.set_mode((500, 500))
横・縦のサイズが500、500のスクリーンである。座標は、左上が(0,0)、右上が(500,0)、左下が(0,500)、右下が(500,500)である。
次のコードにより、スクリーンの色が(255,255,255)に設定される。
screen.fill((255,255,255))
色は(r,g,b)で設定され、それぞれ赤、緑、青の光の強さを0〜255の整数値で表している。
次のコードは、スクリーンscreenに円を描くものである。
pg.draw.circle(screen, (0,255,0), (250,250), 200)
2番目の引数で色が設定されている。3番目の引数は、円の中心の位置を表し、半径が4番目の引数で与えられている。
スクリーンに描かれた画像は、次のコードで画面に表示される。
pg.display.flip()
画像が表示された後、プログラムがすぐに終了しないように、while文によるループを用意した。
ck = True
while ck:
for e in
pg.event.get():
# イベントの取得
if
e.type == pg.KEYDOWN: # 押されたキーがあるか
if e.key == pg.K_ESCAPE:
# 押されたキーはESCキーか
ck = False
# ckをFalseにして、while文を終了する
キーボードやマウスの操作は、イベントとして処理される。
イベントは次のコードで収集される。
pg.event.get()
イベントのタイプやキーについては、以下のサイトに説明されている。
https://www.pygame.org/docs/ref/event.html
https://www.pygame.org/docs/ref/key.html
リスト1では、ESCキーが押されるとckがFalseに設定されて、while文の終了となる。
次のコード
pg.quit()
の実行で、pygameの終了である。
import pygame as pg
pg.init() # pygameの初期化
screen = pg.display.set_mode((500, 500))
# 描画スクリーンの設定
screen.fill((255,255,255))
# スクリーンの色(r,g,b)
pg.draw.circle(screen, (0,255,0),
(250,250), 200) # スクリーンに円を描画
pg.display.flip()
# スクリーンの表示
"""
ESCキーが押されるまで、while文によるループ内に留まる
"""
ck = True
while ck:
for e in
pg.event.get():
# イベントの取得
if
e.type == pg.KEYDOWN: # 押されたキーがあるか
if e.key == pg.K_ESCAPE:
# 押されたキーはESCキーか
ck = False
# ckをFalseにして、while文を終了する
pg.quit() # pygameの終了