こんにちは、似たような質問があったと思うかもしれませんが、私のものは this 。とはかなり異なります
ディレクトリから画像を読み込もうとしていますが、画面サイズを(自動的に)「背景」として読み込む画像のサイズに設定しています。
import pygame
import sys
from pygame.locals import *
image_resources = "C:/Users/user/Desktop/Pygame App/image_resources/"
class load:
def image(self, image):
self.image = image
return (image_resources + image)
def texture(self, texture):
self.texture = texture
return (image_resources + texture)
bg = load().image("bg_solid_black.jpg")
pygame.init()
#screen = pygame.display.set_mode((width,height),0,32)
#background = pygame.image.load(bg).convert()
#width = background.get_width()
#height = background.get_height()
「load()」クラスでロードした画像は変数「bg」に設定されており、「bg」としてロードしたもののサイズを使用してウィンドウのサイズを決定したいと思います。動かそうとしたら
background = pygame.image.load(bg).convert()
width = background.get_width()
height = background.get_height()
これに加えて:
screen = pygame.display.set_mode((width,height),0,32)
PyGameは、表示モードが設定されていないことを示すエラーを返します。私がこのようにそれをするならば:
screen = pygame.display.set_mode((width,height),0,32)
background = pygame.image.load(bg).convert()
width = background.get_width()
height = background.get_height()
もちろん、変数「width」と「height」は「pygame.display.set_mode()」を使用するために定義されていないため、これは当てはまりません。
私はこれを理解できないようです。OOの方法で解決しようと思ったのですが、理解できないようです。何か助けはありますか?
ありがとう:)
サーフェスでconvert()
を使用する前に、画面をset_mode()
で初期化する必要があります。
画像を読み込んでset_mode()
の前にサイズを取得できますが、convert()
を使用する必要がありますafter次のように表示を初期化します。
import pygame
pygame.init()
image = pygame.image.load("file_to_load.jpg")
print(image.get_rect().size) # you can get size
screen = pygame.display.set_mode(image.get_rect().size, 0, 32)
image = image.convert() # now you can convert