微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

pygame错误,未设置视频模式

如何解决pygame错误,未设置视频模式

我相信您需要致电:

screen = pygame.display.set_mode((800, 600)) # change to the real resolution

调用实际上将返回您要在其上拉伸的曲面。以下是链接资源中的文档。

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

set_mode(resolution=(0,0), flags=0, depth=0) -> Surface

功能将创建显示表面。传入的参数是对显示类型的请求。实际创建的显示将是系统支持的最佳匹配。

分辨率参数是一对数字,代表宽度和高度。flags参数是其他选项的集合。depth参数代表用于颜色的位数。

可以将返回的Surface绘制为常规的Surface,但最终会在监视器上看到更改。

如果未通过任何分辨率或将其设置为(0,0)并且pygame使用SDL 1.2.10或更高版本,则创建的Surface将具有与当前屏幕分辨率相同的大小。如果仅将width或height设置为0,则Surface的宽度或高度将与屏幕分辨率相同。使用1.2.10之前的SDL版本会引发异常。

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

当请求全屏显示模式时,有时无法完全匹配所请求的分辨率。在这些情况下,pygame将选择最接近的兼容匹配。返回的表面仍将始终与请求的分辨率匹配。

flags参数控制所需的显示类型。有多种选择,您甚至可以使用按位或运算符(管道“ |”字符)组合多种类型。如果传递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])

解决方法

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

#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

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。