我只是在为我的游戏设置一些函数,但是我的脚本无法加载图像
#used variables
# x, y for alien location
# nPc for the aliens image
#
#
#
#
#
#
#
#
#
#
#set up
import pygame, sys, random, time, math
from pygame.locals import *
pygame.init()
nPc = '/home/claude/Dropbox/Bowtie/Prisim/Images/Alien_Races/Standered/alien_1.png'
nPc = pygame.image.load(nPc).convert_alpha()
def loc_alien():
x = random.randint(0, 400)
y = randaom.randint(0, 400)
def spawn_alien(x, y):
screen.blit(nPc, (x, y))
当我运行这个函数时,我不会发生任何事情,因为我还没有使用这些函数,但是当我运行它时,我得到了这个错误
Traceback (most recent call last):
File "/home/claude/Dropbox/Bowtie/Prisim/Scripts/aliens.py", line 26, in <module>
nPc = pygame.image.load(nPc).convert_alpha()
error: No video mode has been set
有人知道我做错了什么吗?
发布于 2013-09-20 06:34:44
我相信你需要打个电话:
screen = pygame.display.set_mode((800, 600)) # change to the real resolution
此调用实际上将返回您想要在其上进行blit的曲面。以下是链接资源中的文档。
初始化窗口或屏幕以进行显示
set_mode(resolution=(0,0),flags=0,depth=0) ->曲面
此函数将创建一个显示表面。传入的参数是对显示类型的请求。实际创建的显示将是系统支持的最佳匹配。
分辨率参数是一对表示宽度和高度的数字。flags参数是附加选项的集合。depth参数表示用于颜色的位数。
返回的Surface可以像常规Surface一样绘制,但最终会在监视器上看到更改。
如果未传递分辨率或设置为(0,0),并且pygame使用SDL版本1.2.10或更高版本,则创建的曲面将具有与当前屏幕分辨率相同的大小。如果仅将宽度或高度设置为0,则曲面将具有与屏幕分辨率相同的宽度或高度。使用1.2.10之前的SDL版本将引发异常。
通常情况下,最好不要传递深度参数。它将默认为系统的最佳和最快的颜色深度。如果您的游戏需要特定的颜色格式,您可以使用此参数控制深度。Pygame将模拟一个不可用的颜色深度,这可能会很慢。
请求全屏显示模式时,有时无法精确匹配所请求的分辨率。在这些情况下,pygame将选择最接近的兼容匹配。返回的表面仍将始终与请求的分辨率匹配。
flags参数控制您想要哪种类型的显示。有几种类型可供选择,您甚至可以使用按位或运算符(竖线“|”字符)组合多种类型。如果你传递0或者没有标志参数,它将默认为软件驱动的窗口。以下是您要从中选择的显示标志:
pygame.FULLSCREEN创建全屏显示pygame.DOUBLEBUF建议用于HWSURFACE或OPENGL pygame.HWSURFACE硬件加速,仅在全屏pygame.OPENGL中创建OpenGL可渲染显示pygame.RESIZABLE显示窗口应足够大pygame.NOFRAME显示窗口将没有边框或控件
例如:在屏幕上打开一个窗口screen_width=700 screen_height=400 screen=pygame.display.set_mode(screen_width,screen_height)
发布于 2021-06-30 22:45:08
在创建包含图像的变量之前,不要忘记创建表面
如下所示:
win = pygame.display.set_mode((576, 1024))
background_day = pygame.image.load("background-day.png").convert()
不是这样的:
background_day = pygame.image.load("background-day.png").convert()
win = pygame.display.set_mode((576, 1024))
https://stackoverflow.com/questions/18905989
复制相似问题