Форум программистов, компьютерный форум, киберфорум
Python: PyGame
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.93/88: Рейтинг темы: голосов - 88, средняя оценка - 4.93
0 / 0 / 0
Регистрация: 12.10.2019
Сообщений: 17

pygame.error: cannot convert without pygame.display initialized

15.02.2020, 19:15. Показов 18438. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Только начал изучать спрайты
Выдаёт ошибку:

Traceback (most recent call last):
File "D:/project1/OCode.py", line 18, in <module>
class Bomb(pygame.sprite.Sprite):
File "D:/project1/OCode.py", line 19, in Bomb
image = load_image("arrow.png")
File "D:/project1/OCode.py", line 8, in load_image
image = pygame.image.load(fullname).convert()
pygame.error: cannot convert without pygame.display initialized


Вот код:

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
import pygame
import os
import random
 
 
def load_image(name, colorkey=-1):
    fullname = os.path.join('data', name)
    image = pygame.image.load(fullname).convert()
    if colorkey is not None:
        if colorkey == -1:
            colorkey = image.get_at((0, 0))
        image.set_colorkey(colorkey)
    else:
        image = image.convert_alpha()
    return image
 
 
class Bomb(pygame.sprite.Sprite):
    image = load_image("arrow.png")
 
    def __init__(self, group):
        # НЕОБХОДИМО вызвать конструктор родительского класса Sprite. Это очень важно!!!
        super().__init__(group)
        self.image = Bomb.image
        self.rect = self.image.get_rect()
        self.rect.x = random.randrange(width)
        self.rect.y = random.randrange(height)
 
    def update(self):
        self.rect = self.rect.move(random.randrange(3) - 1, random.randrange(3) - 1)
 
pygame.init()
size = width, height = 501, 501
screen = pygame.display.set_mode(size)
screen.fill((255, 255, 255))
clock = pygame.time.Clock()
fps = 60
running = True
# создадим группу, содержащую все спрайты
all_sprites = pygame.sprite.Group()
 
for _ in range(50):
    Bomb(all_sprites)
 
while running:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            running = False
    pygame.display.flip()
    all_sprites.draw(screen)
    all_sprites.update()
 
    clock.tick(fps)
 
pygame.quit()
Что нужно сделать, чтобы исправить это?
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
15.02.2020, 19:15
Ответы с готовыми решениями:

pygame.error: video system not initialized
Здравствуйте! Нужна помощь - как исправить эту ошибку? import sys import pygame def run_game(): pygame.init() ...

Ошибка pygame.error: video system not initialized
Использую python3 pygame. Пишу простую игру, разделив игру на 2 файла: settings и monitor. ((pixel.screen_width, pixel.screen_height)) они...

При импорте pygame пишет что нет модуля pygame.base
Устанавливаю для kivy.Всё есть (sython,gsstreamer,kivy,pyscripter,python) , а вот фраем. pygame не работает.Почему?Что ещё надо для работы...

2
1293 / 677 / 367
Регистрация: 07.01.2019
Сообщений: 2,302
15.02.2020, 21:04
Лучший ответ Сообщение было отмечено Methodius как решение

Решение

Цитата Сообщение от Methodius Посмотреть сообщение
Что нужно сделать, чтобы исправить это?
Перенесите вверх инициализацию pygame

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
import pygame
import os
import random
 
pygame.init()
size = width, height = 501, 501
screen = pygame.display.set_mode(size)
 
def load_image(name, colorkey=-1):
    fullname = os.path.join('data', name)
    image = pygame.image.load(fullname).convert()
    if colorkey is not None:
        if colorkey == -1:
            colorkey = image.get_at((0, 0))
        image.set_colorkey(colorkey)
    else:
        image = image.convert_alpha()
    return image
 
 
class Bomb(pygame.sprite.Sprite):
    image = load_image("arrow.png")
 
    def __init__(self, group):
        # НЕОБХОДИМО вызвать конструктор родительского класса Sprite. Это очень важно!!!
        super().__init__(group)
        self.image = Bomb.image
        self.rect = self.image.get_rect()
        self.rect.x = random.randrange(width)
        self.rect.y = random.randrange(height)
 
    def update(self):
        self.rect = self.rect.move(random.randrange(3) - 1, random.randrange(3) - 1)
1
0 / 0 / 0
Регистрация: 12.10.2019
Сообщений: 17
20.02.2020, 20:28  [ТС]
спасибо
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
20.02.2020, 20:28
Помогаю со студенческими работами здесь

Ошибка в pygame AttributeError: 'pygame.Rect' object has no attribute 'blit'
Создаю игру, крестики нолики Почему возникает ошибка и как ее исправить? AttributeError: 'pygame.Rect' object has no attribute 'blit' ...

Pygame ошибка module ‘pygame’ has no ‘init’ member
Всем здравствуйте. Недавно начал работать с VS code и выдает такая ошибка. Прикрепляю полностью скрин. Нашел решение перед каждой...

AttributeError: partially initialized module 'pygame' has no attribute 'init' (most likely due to a circular import)
Code: import pygame pygame.init() win = pygame.display.set_mode((500, 500)) ...

Pygame.error: Surfaces must not be locked during blit
Pygame выдаёт мне такое исключение: pygame.error: Surfaces must not be locked during blit Перед этим я изменяю цвет пикселя при...

Pygame.error: Couldn't open images/wall.png
import sys import pygame import string import queue class game: def is_valid_value(self,char): if ( char ==...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru