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

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

Python学習とゲーム作り#6

今回はウィンドウに文字を表示してみたいと思います。前回までのコードがこちらです

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))

running = True
while running:
    font = pygame.font.SysFont(None,50) #追加
    text = font.render("RPG仮",True,(0,0,0)) #追加
    screen.blit(text,(360,200)) #追加
    for key in pygame.event.get():
        if key.type == pygame.QUIT:
            running = False
    pygame.display.update()

追加したのはこの部分です

font = pygame.font.SysFont(None,50) 
#fontという文字に関するオブジェクトを作り、pygame.font.SysFontでpygame内のfontを指定
#Noneはデフォルトのフォントで50は文字のサイズです

text = font.render("RPG仮",True,(0,0,0))
#textというオブジェクトを作り、font.renderで文章を表示しますよという宣言?
#.renderは調べましたが説明が難しいです笑 今はfont.renderでセットで覚えておく
#("RPG仮",True,(0,0,0))は""が表示したい文、Trueは文字を滑らかにする、(0,0,0)はRGBです

screen.blit(text,(360,200)) 
#screenのオブジェクトに.blitで要は画面に表示させますよ、と
#.blitも説明が難しいです。これも今はscreen.blitでセットで覚えておく
#(text(360,200)はtextオブジェクトを(360,200)の座標に表示。360がxで200がy

これを実行してみます

文字が出ました!ちょっとだけゲームのタイトルっぽくなったかなー。だけど…(仮)が文字化けしてますね。デフォルトのフォントでは日本語が表示されないってことですかね。日本語表示可能なフォントを調べてみます。今回はここまで!