您好,即使您可能认为存在类似的问题,但我的情况与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()
当然,事实并非如此,因为没有为“pygame.display.set_mode()”使用变量“width”和“height”。
我似乎无法弄明白这一点,我虽然通过OO方式解决,但我似乎无法弄明白。有什么帮助吗?
谢谢:)
答案 0 :(得分:10)
在任何表面上使用convert()
功能之前,需要初始化屏幕。
您可以在set_mode
之前加载图片,获取尺寸,然后在初始化显示后convert
,如下所示:
import pygame
pygame.init()
image = pygame.image.load("file_to_load.jph")
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