Python⚪︎×ゲームのエラーについて
Q&A
解決したいこと
ここに解決したい内容を記載してください。
例)
Pythonでような0xゲームをつくっています。
記事を投稿する機能の実装中にエラーが発生しました。
解決方法を教えて下さい。
### 発生している問題・エラー
Traceback (most recent call last):
File "/Users/ksam/Documents/定数の宣言.py", line 49, in <module>
title = title_font.render("〇×ゲーム",True,WHITE)
pygame.error: Passed a NULL pointer
出ているエラーメッセージを入力
該当するソースコード
# 定数の宣言
import pygame
pygame.init()
# 定数は大文字とアンダーバーのみで名前をつける
WINDOW_WIDTH=500#画面の幅
WINDOW_HEIGHT=500#画面の高さ
display_surface=pygame.display.set_mode((WINDOW_WIDTH,WINDOW_HEIGHT))
pygame.display.set_caption('gamegame')
#pygame.display.set_caption('つけたいゲームの名前’)
#色の宣言
BLACK=(0,0,0)
WHITE=(255,255,255)
#ゲームの設定
LINE_WIDTH=5#描写する線の幅
#画面の色の指定
display_surface.fill(BLACK)#画面の色を黒にする
#display_surface.fill(color)
pygame.draw.rect(display_surface,WHITE,(100,100,300,300),LINE_WIDTH)
#pygame.draw.rect(画面の指定,色の指定,(xの左上の座標,yの左上の座標,四角形の幅,四角形の高さ),線の幅
pygame.draw.line(display_surface,WHITE,(200,100),(200,399),LINE_WIDTH)
pygame.draw.line(display_surface,WHITE,(300,100),(300,399),LINE_WIDTH)
pygame.draw.line(display_surface,WHITE,(100,200),(399,200),LINE_WIDTH)
pygame.draw.line(display_surface,WHITE,(100,300),(399,300),LINE_WIDTH)
# クロックの設定
FPS=60#ゲームのフレームレートの値
clock=pygame.time.Clock()
#pygame.time.Clock() プログラムの時間を管理するための命令
#ゲームのフレームレートを制御する(ゲームの実行速度に制限をかける)
#変数clockを、下のwhile文の中で、clock.tick(FPS)と使用して
#プログラムを1秒ごとに60フレームを超えないように制御する
⇩⇩⇩⇩⇩⇩⇩⇩⇩⇩⇩⇩⇩⇩⇩⇩⇩⇩⇩⇩⇩⇩⇩⇩⇩⇩⇩⇩⇩⇩⇩ここから
#文字の設定
title_font=pygame.font.Font('NotoSansJP-Regular.ttf',50)
#pygame.font.Font(フォントの名前,フォントのサイズ)#フォントオブジェクトを作成する
title = title_font.render("〇×ゲーム",True,WHITE)
#テキストの作成#フォントオブジェクト.render(メッセージ,文字の表示を滑らかにするかどうか
#文字の色)#変数titleには、Surfaceオブジェクトが代入される
title_font_rect = title.get_rect()
#作成したテキストのRectの値を取得#Rectの値は、
#top,left,bottom,rightなどの座標や
#size,width,heightなどの情報を持っている
#また、title_font_rect.center=(10,10)などとして
#その(テキストの)Surfaceオブジェクトの中央の位置が(10,10)となったRectの値の取得ができる
title_font_rect.center=(WINDOW_WIDTH//2,50)
#テキスト中央の位置を決める
display_surface.blit(title_font_rect)
#テキストの表示#display_surface.blit(テキストのSurfaceオブジェクト,
#テキストのSurfaceオブジェクトの描写位置)
#ここのtitle_font_rectは、中央の位置が
#title_font.centerによって、x座標はWINDOW_WIDTH//2、y座標は50になっている
pygame.display.update()
running=True
while running:
for event in pygame.event.get():
if event.type == pygame.QUIT:
running=False
clock.tick(FPS)
pygame.quit()
```
例)
### 自分で試したこと
文字のチェックや空白などもいじってみましたが、
なかなか上手くいきません。
身近に相談できる人もいなくて、一生進まないのでここで相談させていただきました。
#Python
0 likes