図形の描写

GUIで図形を書きたいと思います.
ウィンドウの作成は前回と同じです.

import pygame
from pygame.locals import *
import sys

SCREEN_SIZE = (700, 400)
def main():
    pygame.init()
    screen = pygame.display.set_mode(SCREEN_SIZE)
    pygame.display.set_caption("picture")

    while True:
        screen.fill((255,255,255))
        # 四角
        pygame.draw.rect(screen, (0,255,255), Rect(5,3,300,200))
        pygame.draw.rect(screen, (0,255,0), Rect(450,40,200,100),2)
        # 円
        pygame.draw.circle(screen, (50,100,150), (350,200), 90,5)
        # 楕円
        pygame.draw.ellipse(screen, (255,0,255), (450,250,200,100),5)
        pygame.draw.ellipse(screen, (255,255,0), (100,250,100,150),5)
        # 線
        pygame.draw.line(screen, (0,0,0), (0,0), (700,400),5)
        pygame.draw.line(screen, (0,0,0), (700,0), (0,400),5)

        pygame.display.update()
        for event in pygame.event.get():
            if event.type == QUIT:
                sys.exit()


if __name__ == "__main__":
    main()

まずは四角を描きます.四角形は,

pygame.draw.rect()

この関数で描くことができます.
第一引数はSurfaceの指定です. 今回は, screenと設定されます.
第二引数は図形の色を設定します.
第三引数は左上の点から大きさを設定できます.
第四引数は線の太さを設定します. これを設定しない場合は, 図形を塗り潰します.
塗りつぶす場合はSurface.fill()を使うこともできます.

つぎに円を描きます. 円は,

pygame.draw.circle()

この関数で描くことができます.
第一引数はSurfaceの指定です.
第二引数は図形の色を設定します.
第三引数は円の中心の設定をします.
第四引数は円の直径の指定です.
第五引数は線の太さを設定します.これも四角と同様に設定しない場合は塗りつぶします.

楕円という似たような図形もかけます.

pygame.draw.ellipse()

この関数は特徴として第三引数に中心の点と高さと幅も設定できます.
もちろん高さと幅の長さを等しくして円を描くこともできます.

最後に直線です.

pygame.draw.line()

この関数によって線を描くことができます.
この関数も特徴として第三引数に線の出発地点, 第四引数に線のゴール地点を設定できます.
第五引数に線の太さも設定できます.