Python pygame错误,未设置视频模式

Python pygame错误,未设置视频模式,python,pygame,Python,Pygame,我正在为我的游戏设置一些功能,但我的脚本无法加载图像 #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/Prisi

我正在为我的游戏设置一些功能,但我的脚本无法加载图像

#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
回溯(最近一次呼叫最后一次):
文件“/home/claude/Dropbox/Bowtie/Prisim/Scripts/异形.py”,第26行,在
nPc=pygame.image.load(nPc.convert_alpha()
错误:未设置视频模式

有人知道我做错了什么吗?

我相信你需要打电话:

screen = pygame.display.set_mode((800, 600)) # change to the real resolution
此调用实际上将返回要在其上进行blit的曲面。下面是链接资源中的文档

初始化要显示的窗口或屏幕

此功能将创建一个显示曲面。这些论点被传了进来 是对显示类型的请求。将显示实际创建的显示 系统支持的最佳匹配

resolution参数是一对表示宽度的数字 和身高。flags参数是附加选项的集合。 深度参数表示用于颜色的位数

返回的曲面可以像常规曲面一样绘制 但最终会在显示器上看到变化

如果未通过决议或决议设置为(0,0),pygame将使用SDL 版本1.2.10或更高版本,创建的曲面将具有相同的大小 作为当前屏幕分辨率。如果仅设置了宽度或高度 设置为0时,曲面将具有与屏幕相同的宽度或高度 决议使用1.2.10之前的SDL版本将引发 例外

通常最好不要通过深度参数。它将默认为 系统的最佳和最快颜色深度。如果您的游戏需要 使用此参数可以控制深度的特定颜色格式。 Pygame将模拟不可用的颜色深度,该颜色深度可能较慢

当请求全屏显示模式时,有时需要与 无法做出请求的解决方案。在这种情况下,我们要玩游戏 将选择最接近的兼容匹配项。返回的曲面将 仍然始终符合要求的分辨率

flags参数控制所需的显示类型。有 有几种可供选择,您甚至可以使用 按位or运算符(管道“|”字符)。如果通过0或否 标志参数它将默认为软件驱动的窗口。这是 要从中选择的显示标志:

pygame.FULLSCREEN    create a fullscreen display
pygame.DOUBLEBUF     recommended for HWSURFACE or OPENGL
pygame.HWSURFACE     hardware accelerated, only in FULLSCREEN
pygame.OPENGL        create an OpenGL renderable display
pygame.RESIZABLE     display window should be sizeable
pygame.NOFRAME       display window will have no border or controls
例如:

# Open a window on the screen
screen_width=700
screen_height=400
screen=pygame.display.set_mode([screen_width,screen_height])
您可能会发现这很有帮助:
# Open a window on the screen
screen_width=700
screen_height=400
screen=pygame.display.set_mode([screen_width,screen_height])