ошибка 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/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 

кто-нибудь знает, что я делаю неправильно?

Я считаю, что вам нужно позвонить:

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

этот вызов фактически вернет поверхность, на которую вы хотите активировать. Ниже приведена документация из связанного ресурса.

pygame.display.set_mode ()

Инициализировать окно или экран для отображения

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

Эта функция создаст поверхность отображения. Проводимые аргументы – это запросы на тип отображения. Фактически созданный дисплей будет наилучшим возможным соответствием, поддерживаемым системой.

Аргумент разрешения – это пара чисел, представляющих ширину и высоту. Аргумент flags – это набор дополнительных опций. Аргумент глубины представляет количество бит для использования для цвета.

Поверхность, которая возвращается, может быть нарисована как обычная поверхность, но изменения в конечном итоге будут видны на мониторе.

Если разрешение не передано или установлено на (0, 0), а pygame использует версию SDL версии 1.2.10 или выше, созданная поверхность будет иметь тот же размер, что и текущее разрешение экрана. Если только ширина или высота установлены на 0, поверхность будет иметь ту же ширину или высоту, что и разрешение экрана. Использование версии SDL до 1.2.10 вызовет исключение.

Обычно лучше не передавать аргумент глубины. Он по умолчанию будет иметь самую лучшую и самую быструю глубину цвета для системы. Если ваша игра требует определенного цветового формата, вы можете контролировать глубину с помощью этого аргумента. Pygame будет эмулировать недоступную глубину цвета, которая может быть медленной.

При запросе полноэкранного режима отображения иногда невозможно точное соответствие запрошенному разрешению. В этих ситуациях pygame выберет ближайшее совместимое совпадение. Возвращенная поверхность все равно всегда будет соответствовать запрошенному разрешению.

Аргумент flags определяет тип отображения, который вы хотите. Есть несколько вариантов, и вы можете комбинировать несколько типов с помощью побитового или операторного (символ «|»). Если вы передадите аргумент 0 или no flags, по умолчанию будет установлено окно, управляемое программным обеспечением. Ниже приведены флаги отображения, которые вы хотите выбрать:

 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])