2017-10-06 4 views
-2

J'ai donc essayé d'exécuter the code mais cela donne une liste d'erreur de plage d'index. J'ai changé l'index de 1 à 0, mais l'écran apparaît seulement noir. Comment pourrais-je changer le code pour le faire fonctionner?OBJFILELOADER - pygame

+0

S'il vous plaît poster le message d'erreur complète/pile trace. – skrx

+0

obj = OBJ (sys.argv [1], "suzzane.mtl") IndexError: index de liste hors limites J'ai changé l'index à 0 mais seul un écran noir apparaît. – ZDD

+0

Il suffit de copier tout ce que vous voyez sous "Traceback (dernier appel dernier):" et ajoutez cela à votre message. – skrx

Répondre

0

Il vous suffit de passer le nom de fichier/chemin du fichier .obj à la OBJ classe:

obj = OBJ('suzzane.obj') 

En outre, le script a été écrit en Python 2 et si vous voulez l'utiliser avec Python 3, vous devez mettre à jour quelques petites choses.

Modifier cette ligne,

raise ValueError, "mtl file doesn't start with newmtl stmt" 

à:

raise ValueError("mtl file doesn't start with newmtl stmt") 

Et tous les map itérateurs doivent être transformées en listes:

mtl[values[0]] = map(float, values[1:]) 
# Just call `list()`. 
mtl[values[0]] = list(map(float, values[1:])) 
+0

Ça a marché! J'ai réalisé le premier changement, mais j'ai complètement oublié le changement de liste. – ZDD