Как исправить "pygame.error: video system not initialized"?
Но при его включении показывается просто черный экран, а когда я закрываю приложение вылазит ошибка:
Traceback (most recent call last): File "***", line 17, in keys = pygame.key.get_pressed() pygame.error: video system not initialized
Как исправить?
- Вопрос задан более года назад
- 159 просмотров
1 комментарий
Средний 1 комментарий
DMITRY1234455 @DMITRY1234455
я конечно не уверен, но мне кажется стоит попробовать сделать выход из программы немного по другому
rungame = True while rungame: for event in pygame.event.get(): if event.type == pygame.QUIT: rungame = False
а pygame.quit() писать в конце программы. И ещё мне кажется надо попробовать изменить систему кнопок на такую:
elif e.type == pygame.KEYDOWN: if e.key == pygame.K_LEFT: x -= speed elif e.key == pygame.K_RIGHT x += speed
вот код который можно попытаться изменить:
import pygame from pygame.color import THECOLORS pygame.init() screen = pygame.display.set_mode((1200, 820)) screen.fill(THECOLORS["green"]) player_image = pygame.image.load("game_file/Pers_right.png") x = 500 y = 500 speed = 5 while rungame: for event in pygame.event.get(): if event.type == pygame.QUIT: rungame = False elif e.type == pygame.KEYDOWN: if e.key == pygame.K_LEFT: x -= speed elif e.key == pygame.K_RIGHT x += speed screen.blit(player_image, (500, 500)) pygame.quit()
Python-сообщество
![]()
- Начало
- » Python для новичков
- » video system not initialized
#1 Апрель 13, 2016 16:17:47
kapaky Зарегистрирован: 2016-04-13 Сообщения: 6 Репутация: 0 Профиль Отправить e-mail
video system not initialized
import pygame
WHITE = (255, 255, 255)
pygame.init()
(6,0) size = (700, 500)
screen = pygame.display.set_mode(size)
pygame.display.set_caption(“My Game”)
done = False
clock = pygame.time.Clock()
while not done:
for event in pygame.event.get():
if event.type == pygame.QUIT:
done = True
screen.fill(WHITE)
pygame.display.flip()
clock.tick(60)
pygame.quit()
Здравствуйте! Пытаюсь освоить Питон. (знаний программирования вобще нет) После нажатия ‘Enter’, открывшееся окно успевает поменять фон на белый, и закрывается с ошибкой: video system not initialized (видеосистема не инициализируется). Что это может означать, проблема с дравами на видеокарту?
#2 Апрель 13, 2016 16:23:26
Lestoroer Зарегистрирован: 2015-12-24 Сообщения: 88 Репутация: 5 Профиль Отправить e-mail
video system not initialized
Pygame нет, но попробуй вот так код поправить :
import pygame WHITE = (255, 255, 255) pygame.init() size = (700, 500) screen = pygame.display.set_mode(size) pygame.display.set_caption('My Game') screen.fill(WHITE) pygame.display.flip() clock = pygame.time.Clock() clock.tick(60) done = False while not done: for event in pygame.event.get(): if event.type == pygame.QUIT: done = True pygame.quit()
Хотя вроде вспомнил, что я сейчас полную чушь сказал. Это скорее всего не поможет.
Отредактировано Lestoroer (Апрель 13, 2016 16:30:15)
#3 Апрель 13, 2016 16:26:20
kapaky Зарегистрирован: 2016-04-13 Сообщения: 6 Репутация: 0 Профиль Отправить e-mail
video system not initialized
Traceback (most recent call last):
File “”, line 2, in
for event in pygame.event.get():
pygame.error: video system not initialized
не знаю как отступы сделать.. Полная ошибка выглядит так..
Отредактировано kapaky (Апрель 13, 2016 16:27:20)
#4 Апрель 13, 2016 16:30:43
Lestoroer Зарегистрирован: 2015-12-24 Сообщения: 88 Репутация: 5 Профиль Отправить e-mail
video system not initialized
kapaky
Traceback (most recent call last): File “”, line 2, in for event in pygame.event.get():pygame.error: video system not initializedне знаю как отступы сделать.. Полная ошибка выглядит так..
Снова попробуй скопировать, я отредактировал
#5 Апрель 13, 2016 16:43:41
kapaky Зарегистрирован: 2016-04-13 Сообщения: 6 Репутация: 0 Профиль Отправить e-mail
video system not initialized
pygame.display.set_caption(‘My Game’)
screen.fill(WHITE)
если вобще убрать эти строчки, та же ошибка
#6 Апрель 13, 2016 17:55:11
kapaky Зарегистрирован: 2016-04-13 Сообщения: 6 Репутация: 0 Профиль Отправить e-mail
video system not initialized
все перепробовал, даже от имени администратора запускал. Та же ошибка.
мне кажется что, когда я скачивал “pygame” он был не полный. Если такое бывает.?
#7 Апрель 16, 2016 10:26:50
kapaky Зарегистрирован: 2016-04-13 Сообщения: 6 Репутация: 0 Профиль Отправить e-mail
video system not initialized
может после, когда сам во всем разберусь, то объясню, почему именно так. Но пока работает следующая схема.
>>> import pygame,sys
>>> pygame.init()
>>> from pygame.locals import * >>> size= (400,600) >>> dis=pygame.display.set_mode(size)
>>> while True:
for event in pygame.event.get():
if event.type == QUIT: pygame.quit()
sys.exit()
pygame.display.update()
Теперь все работает, закрывается, когда пользователь нажмет закрыть (через крестик как обычно)
Отредактировано kapaky (Апрель 16, 2016 10:28:52)
python ошибка :pygame.error: video system not initialized что не так с кодом ?
import pygame
###########values########
pygame.init()
winx = 1200
winy =750
gameon = True
heroex = 50
heroey = 50
weight = 40
height = 40
speed = 5
win= pygame.display.set_mode((winx,winy))
pygame.display.set_caption(«Game»)
#pygame.mouse.get_pos(heroex, heroey)
#######main########
while gameon:
pygame.time.delay(100)
for event in pygame.event.get():
if event.type == pygame.quit():
gameon == False
Лучший ответ
1. Ты хочешь проверить, что произошло событие выхода (event.type == pygame.QUIT), а вместо этого вызываешь функцию pygame.quit(), которая выходит из твоей программы.
2. Ты хочешь присвоить (=) переменной gameon значение False, а вместо этого, просто делаешь сравнение (==)
Исправленный вариант: [ссылка заблокирована по решению администрации проекта]
3. Тебе на самом деле не нужна переменная gameon, можно просто сделать бесконечный цикл, и выходить из него при получении эвента.
Почищенный вариант: [ссылка заблокирована по решению администрации проекта]
pygame.error: video system not initialized
See the basic Intro tutorial, or the specific Import and Initialize tutorial, which explains:
Before you can do much with pygame, you will need to initialize it. The most common way to do this is just make one call.
pygame.init()
This will attempt to initialize all the pygame modules for you. Not all pygame modules need to be initialized, but this will automatically initialize the ones that do. You can also easily initialize each pygame module by hand. For example to only initialize the font module you would just call.
In your particular case, it’s probably pygame.display that’s complaining that you called either its set_caption or its flip without calling its init first. But really, as the tutorial says, it’s better to just init everything at the top than to try to figure out exactly what needs to be initialized when.