Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Как исправить ошибку Traceback (most recent call last):

toflar game Ученик (91), на голосовании 2 года назад
 Вот код должно было получиться гонки но при запуске  через  python был просто
черный экран, я решил скомплить а когда скомплил и открыл вылезла ошибка

(Traceback (most recent call last):
File "gta.py", line 4, in
File "ursina\main.py", line 32, in __init__
File "direct\showbase\ShowBase.py", line 341, in __init__
File "direct\showbase\ShowBase.py", line 1026, in openDefaultWindow
File "direct\showbase\ShowBase.py", line 1061, in openMainWindow
File "direct\showbase\ShowBase.py", line 771, in openWindow
File "direct\showbase\ShowBase.py", line 751, in
File "direct\showbase\ShowBase.py", line 823, in _doOpenWindow
File "direct\showbase\ShowBase.py", line 652, in makeDefaultPipe
File "direct\directnotify\Notifier.py", line 130, in error
Exception: No graphics pipe is available!
Your Config.prc file must name at least one valid panda display
library via load-display or aux-display.)


вот код
from ursina import *
import random

app = Ursina()
camera.orthographic = True
camera.fov = 40

car = Entity(
model = 'quad',
texture = (r"C:\Users\дом1\PROGRAMandGAMES\car.png"),
collider = 'box',
scale = (2,1)
)

road1 = Entity(
model = 'quad',
texture = (r"C:\Users\дом1\PROGRAMandGAMES\croad.png"),
collider = 'box',
scale = 15,
z=1
)

road2 = duplicate(road1, y=15)
pair = [road1, road2]


enemies = []
def newEnemy():
val =random.uniform(-2,2)
new = duplicate(
car,
texture = (r"C:\Users\дом1\PROGRAMandGAMES\car1.png"),
x = 2*val,
y = 25,
color = color.random_color(),
rotation_z =
90 if val < 0
else -90
)
enemies.append(new)
invoke(newEnemy, delay=1)
newEnemy()

def update():
car.x -=held_keys['a']*5*time.dt
car.x -=held_keys['d']*5*time.dt
for road in pair:
road.y -= 6* time.dt
if road.y < -15:
road.y += 30
for enemy in enemies:
if enemy.x < 0:
enemy.y -= 10 * time.dt
else:
enemy.y -= 5 * time.dt
if enemy .y < -10:
enemies.remove(enemy)
destroy(enemy)
if car.intersects().hit:
car.shake()

app.run()
Голосование за лучший ответ
Drew Мастер (1829) 2 года назад
у вас есть опечатка в коде: в строке "car.x -=held_keys['a']5time.dt" дважды вычитается значение, вместо того чтобы вычесть значение из оси y, вы вычитаете его из оси x. Для исправления этой ошибки замените первую строчку на
"car.x -= held_keys['a'] * 5 * time.dt"
и вторую на
"car.x += held_keys['d'] * 5 * time.dt".
toflar gameУченик (91) 2 года назад
заменил но при запуски просто черный экран что делать?
Chromatic Scale Искусственный Интеллект (244010) 2 года назад
Ошибка, которую вы получили, говорит о том, что у вас отсутствует графическая библиотека, которую можно использовать с библиотекой Panda3D. Для исправления этой ошибки вам необходимо установить графическую библиотеку и указать ее в файле конфигурации Config.prc.

Вы можете попробовать установить одну из поддерживаемых графических библиотек, таких как OpenGL или DirectX, или использовать встроенную в Panda3D библиотеку Tinydisplay. Для того, чтобы указать графическую библиотеку в файле конфигурации Config.prc, добавьте следующую строку в этот файл:

load-display

Замените на название вашей графической библиотеки.

Кроме того, я заметил, что вы вызываете функцию app.run () внутри функции update (). Вам следует переместить эту строку за пределы функции update () и вызывать ее только один раз в вашей программе.
toflar gameУченик (91) 2 года назад
убрал app.run (), но не пойму как и где в файле configg.prc добавить строку и где заменить на название моей библиотеке я только учусь в питоне и еще не разбираюсь помогите пажалуйса
Chromatic Scale Искусственный Интеллект (244010) toflar game, Следуйте этим шагам: Найдите файл Config.prc в вашей установке Panda3D. Обычно он находится в папке, где вы установили Panda3D. Например, в Windows это может быть C:\Panda3D-1.10.10\etc\Confg.prc. Откройте файл Config.prc с помощью текстового редактора, такого как Notepad. Добавьте следующую строку в файл Config.prc в любом месте: load-display Замените на название вашей графической библиотеки. Например, если вы хотите использовать библиотеку OpenGL, замените на "pandagl". Сохраните файл Config.prc. Запустите вашу программу и убедитесь, что ошибка больше не возникает.
toflar gameУченик (91) 2 года назад
вот так? это строчки из кфг
load-display pandagl
#load-display pandadx9
#load-display p3tinydisplay
toflar gameУченик (91) 2 года назад
а все получилось запустить но текстуры машинок и дороги не загрузились
toflar gameУченик (91) 2 года назад
как исправить?
Chromatic Scale Искусственный Интеллект (244010) toflar game, Проблема может быть в неправильных путях к файлам текстур. Абсолютные пути к файлам текстур на вашем компьютере могут привести к тому, что файлы текстур не будут найдены, если они переместятся в другое место или запустятся на другом компьютере. Использование относительных путей к файлам текстур может исправить эту проблему. Если файлы текстур находятся в той же папке, что и ваш скрипт, вы можете использовать код вида texture = 'car.png'. Если файлы текстур находятся в подпапке, то код будет выглядеть как texture = 'textures/car.png', где "textures" - это название подпапки. Важно также убедиться, что файлы текстур находятся в правильном формате, поддерживаемом библиотекой Ursina. Это форматы .jpg и .png.
Похожие вопросы