【Pygame】円、直線、長方形などの図形を描画

PythonライブラリPygameで画面上に図形(直線、長方形、円)を描画する方法とソースコードを解説します。

Pygameで図形の描画(塗りつぶしなし)

以下のように、Pygameで画面上に図形(直線、長方形、円)を描画します。

動画解説版

本ページの内容は以下動画でも解説しています。

サンプルコード


コードの解説

1. 線を描く (pygame.draw.line)

以下のコードは、画面の左上隅(0,0)から右下方向に80ピクセル進んだ点(80,80)まで、幅5ピクセルの緑色の線を描きます。

pygame.draw.line(screen, (0,255,0), (0,0), (80,80), 5)
  • screen: 描画先の画面(Surfaceオブジェクト)。
  • (0,255,0): 線の色をRGB形式で指定しています。この場合、緑色です。
  • (0,0): 線の始点の座標(x, y)。
  • (80,80): 線の終点の座標(x, y)。
  • 5: 線の幅(ピクセル単位)。

2. 長方形を描く (pygame.draw.rect)

以下のコードは、左上隅が座標(100,100)にあり、幅180ピクセル、高さ150ピクセルの赤色の長方形を描きます。

pygame.draw.rect(screen, (255,0,0), (100,100,180,150), 5)
  • screen: 描画先の画面(Surfaceオブジェクト)。
  • (255,0,0): 長方形の色をRGB形式で指定しています。この場合、赤色です。
  • (100,100,180,150): 長方形の位置とサイズを指定するタプル。最初の2つの値(100,100)は左上隅の座標(x, y)、次の2つの値(180,150)は幅と高さです。
  • 5: 長方形の線の幅(ピクセル単位)。この場合、塗りつぶしなしで描画されます。

3. 楕円を描く (pygame.draw.ellipse)

以下のコードは、左上隅が座標(250,250)にあり、幅300ピクセル、高さ200ピクセルの矩形に内接する青色の楕円を描きます。

pygame.draw.ellipse(screen, (0,0,255), (250,250,300,200), 5)
  • screen: 描画先の画面(Surfaceオブジェクト)。
  • (0,0,255): 楕円の色をRGB形式で指定しています。この場合、青色です。
  • (250,250,300,200): 楕円が内接する矩形の位置とサイズを指定するタプル。最初の2つの値(250,250)は矩形の左上隅の座標(x, y)、次の2つの値(300,200)は矩形の幅と高さです。
  • 5: 楕円の線の幅(ピクセル単位)。この場合、塗りつぶしなしで描画されます。

Pygameで図形の描画(塗りつぶし有り)

長方形と楕円については、以下のように線の幅を指定しなければ塗りつぶして描画されます。

pygame.draw.rect(screen, (255,0,0), (100,100,180,150))
pygame.draw.ellipse(screen, (0,0,255), (250,250,300,200))

直線については、線の幅を指定しなければ最も細い1pxになります。

サンプルコード


関連ページ

Pygameの使い方については以下ページで解説しています。

【Pygame超入門】使い方とサンプルゲームを解説
Pygameで2Dゲームを簡単に制作する方法を入門者向けに解説します。

Python全般については以下ページで解説しています。

【Python超入門】使い方とサンプル集
Pythonの使い方について、基礎文法から応用例まで入門者向けに解説します。

コメント

  1. 匿名 より:

    勉強させて頂いております。

    screen = pygame.display.set_mode((300, 200)) # 大きさ600*500の画面を生成
                               ↑↑↑↑