質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Q&A

1回答

1247閲覧

pythonのpygameでimage.load(“”)で画像表示ができなくてすごく困っております。

wildnothing

総合スコア6

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

0グッド

0クリップ

投稿2017/12/03 02:31

編集2017/12/04 09:41

###前提・実現したいこと
ここに質問したいことを詳細に書いてください

現在『ゲームを作りながら楽しく学べるpythonプログラミング』で勉強中の初心者です。
本書で、image.load("")ができなくて困っております。
本の中の以下の該当コードを入力して(pythonlogo.jpg)を表示したいのですが、なぜかpygame windowという真っ黒のインターフェース画面が表示されるだけで画像が全く表示がされません。

実行ファイルと画像の置き位置がおかしいのかと思い、実行ファイルと画像(pythonlogo.jpg)を同じ階層に置いて試しましたが駄目でした。

やりかたはコマンドプロンプトから「idle」で3.6.3 Shell を起動し、File(実行.py)を開いてRun module f5で試しています。
このやり方が間違っているのかファイルのパスがおかしいのでしょうか。

###発生している問題・エラーメッセージ

エラーメッセージなしです。pygame windowという真っ黒のインターフェース画面が表示されるだけで画像が全く表示がされません。

###該当のソースコード

import sys
import pygame
from pygame.locals import QUIT
pygame.init()
SURFACE=pygame.display.set_mode((400,300))
FPSCLOCK=pygame.time.Clock() def main():
logo=pygame.image.load("pythonlogo.jpg")
while True:
for event in pygame.event.get():
if event.type==QUIT:
pygame.quit()
sys.exit()
SURFACE.fill((255,255,255))
SURFACE.blit(logo,(20,50))
pygame.display.update()
FPSCLOCK.tick(30) if name=='main':
main()

###試したこと

フォルダと画像の移動。
初めのうちはpython.error : Could't openが出ていました。

###補足情報(言語/FW/ツール等のバージョンなど)
より詳細な情報

※環境windows

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

1129

2017/12/03 04:28

Pythonではインデントが重要な意味を持つので、インデントが分かるように修正してください。(例えば開発画面のキャプチャを撮るなど)
wildnothing

2017/12/04 09:46

キャプチャの貼り付け方がわかりません。インデントエラーはでないのでフォルダ構造の問題かなと思っています。
guest

回答1

0

python

1import sys 2import pygame 3from pygame.locals import QUIT 4 5pygame.init() 6SURFACE = pygame.display.set_mode((400,300)) 7FPSCLOCK = pygame.time.Clock() 8 9def main(): 10 logo = pygame.image.load("./tile.png") 11 while True: 12 for event in pygame.event.get(): 13 if event.type==QUIT: 14 pygame.quit() 15 sys.exit() 16 SURFACE.fill((255,255,255)) 17 SURFACE.blit(logo, (20,50)) 18 pygame.display.update() 19 FPSCLOCK.tick(30) 20 21if __name__ =='__main__': 22 main()

多分これでできます。

投稿2021/04/02 08:39

編集2021/04/02 08:45
nijnij

総合スコア8

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問