Bezdepbonusu7Программирование: статьи и ответы

Вопрос

Pygame без видео

Автор вопроса: user2344757Ответов: 2

Мне интересно, может ли кто-нибудь помочь мне с pygame (Python). Я продолжаю получать ошибку из моего кода:

bif ="bg.jpg"
mif = "mouse.png"
import pygame
import sys

from pygame.locals import *

pygame.init()
screen=pygame.display.set_mode((682,415),0,32)
backround= pygame.image.load(bif).convert()
mouse_c=pygame.image.load(mif).convert()
x, y =0,0
movex, movey =0,0
while True:
    for event in pygame.event.get():
        if event.type == QUIT:
            pygame.quit()
            sys.exit()
        if event.tpye == KEYDOWN:
            if event.key==K_LEFT:
                movex =-1
            elif event.key==K_RIGHT:
                movex=+1
            elif event.key ==K_UP:
                movey=-1
            elif event.key==K_DOWN:
                movey=+1

И ошибка, которую я получаю:

Traceback (most recent call last):
  File "C:\Documents and Settings\Aidan\Desktop\Mygame.py", line 15, in <module>
    screen=pygame.display.set_mode((682,415),0,32)
pygame.error: No available video device`

У меня Sony Vaio VGN-T1XP под управлением Windows XP.

  • Попробуйте screen=pygame.display.set_mode((682,415)) возможно у него проблема с глубиной которую вы проходите. pmoleri 03.05.2013
  • На вашем рабочем столе установлена ​​32-битная глубина цвета? Попробуйте 24 бит. Попробуйте прочитать вывод display.Info. 9000 03.05.2013
  • Глубина? пожалуйста, объясните, что я нуб в pygame user2344757 03.05.2013
  • И я проверил его 32, я знаю, что вы можете редактировать user2344757 03.05.2013
  • Вы можете отредактировать свой комментарий вместо того, чтобы комментировать дважды (в течение 5 минут после публикации вашего комментария). BlackVegetable 03.05.2013
  • На моем конце он работает хорошо, и я только что протестировал его с двумя ноутбуками. Как вы его запускаете (точная команда, это просто Windows cmd или powershell?), какая у вас среда Python? Tymoteusz Paul 03.05.2013

pygamepython

Ответы

Ответ 1 · Tymoteusz Paul

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

Ответ 2 · Patric Hartmann

Также звучит как проблема с глубиной для меня... Из документации PyGame:

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

Вы найдете его здесь: http://www.pygame.org/docs/ref/display.html#pygame.display.set_mode

Поэтому лучшим решением было бы просто оставить флаг и глубину по умолчанию. Я всегда использовал его таким образом до сих пор. Из моего старого кода:

SCREEN = pygame.display.set_mode((1024, 768))

Попробуйте так и дайте нам знать, сработало это или нет. И получайте больше удовольствия от PyGame, мне она действительно начинает нравиться :D Если вам нужны еще хорошие уроки, не стесняйтесь спрашивать меня :)

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы