40歳から始めるプログラミング

40歳になったおっさんがゲーム作りを目指すブログです。

Python学習とゲーム作り#5

今回はウィンドウのカラーを変更してみたいと思います。前回までのコードがこちらです

import pygame
pygame.init()
pygame.display.set_mode((800,600))
pygame.display.set_caption("Python学習とゲーム作り")

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

実行すると

デフォルトの黒いウィンドウができました。これにコードを追加します

import pygame
pygame.init()
screen = pygame.display.set_mode((800,600)) 
screen.fill((255,255,255))
pygame.display.set_caption("Python学習とゲーム作り")

running = True
while running:
    for key in pygame.event.get():
        if key.type == pygame.QUIT:
            running = False
 pygame.display.update()
screen = pygame.display.set_mode((800,600))
screen.fill((255,255,255))

追加したのは3と4行目の部分と

 pygame.display.update()

最後の行になります。今まではscreen = というのを付けてなかったんですが、ウィンドウに関しても色を変えるだとか、様々なプログラムがあるので、ウィンドウをscreenというオブジェクトと定義するためscreen = pygame.display.set_modeとしました。そしてスクリーンの色を変えるのが.fill()であり、screen.fill()とscreenに紐付けします。screen.fillの3つの数字は色の三原色でRGBのことですね。(0,0,0)で黒、(255,255,255)で白となります。デフォルトが黒なので真逆の白にしてみます。そして色を変更しますというプログラムを画面に反映させるために、 pygame.display.update()が必要になります。コードを実行すると

真っ白なウィンドウができました。今回画面が黒のまま変わらなかったり、すぐ消えてしまったりとうまくいかなかったのですが、RGBのところを二重()にしていなかったり、 pygame.display.update()の()が抜けていたのが原因でした。()には苦戦しそうですが、よく見ると開発環境の水色になっている所に(関数とか?)()が付いてるので、水色には()と覚えておけばいいのだろうか?今回はここまで!