Partage
  • Partager sur Facebook
  • Partager sur Twitter

Probleme dans une définition

Sujet résolu
    20 mai 2011 à 13:23:06

    Bonjours à tous j'ai un petit problème dans une de mes définition . Voici le code :

    import pyglet
    from pyglet.gl import *
    
    
    import camera as cam
    import scene1 as scene
    import primitives as prims
    
    import piece
    
    
    
    
    def creerEnv(piece):
    		
    	env=[]
    	env.append(piece.creerPiece(position=(0.0,0.0,0.0),angle=0.0,texture=textureMur,dimension=(20.0,7.0))
    	
    	return(env)	
    
    
    
    def afficherEnv(env):
    	
    	for piece in env:
    		piece.afficherPiece(piece)
    



    ma console m'affiche l'erreur suivante : Token error :EOF in multi-line statement

    Un petit coup de main serai le bien venue
    • Partager sur Facebook
    • Partager sur Twitter
      20 mai 2011 à 13:29:42

      Salut.

      Il te manque simplement une parenthèse fermante à la fin de la ligne 17.
      • Partager sur Facebook
      • Partager sur Twitter
      Zeste de Savoir, le site qui en a dans le citron !
        20 mai 2011 à 13:59:48

        *PAN*

        j'ai relu les autres modules de mon programme et je me suis rendu compte que j'avais omit de corriger plein de fautes du même type que la parenthèse,

        une nouvelle erreur est apparue :
        env.append(piece.creerPiece(position=(0.0,0.0,0.0),angle=0.0,texture=texture,dimension=(20.0,7.0)))
        AttributeError: 'NoneType' object has no attribute 'creerPiece'

        je ne comprend se qui ne va pas :/
        • Partager sur Facebook
        • Partager sur Twitter
        Anonyme
          20 mai 2011 à 17:34:13

          On peut voir le module piece?
          • Partager sur Facebook
          • Partager sur Twitter
            20 mai 2011 à 17:56:44

            voila le module piece :
            import math
            import primitives as prims
            
            
            def creerPiece(position=(0.0,0.0,0.0),angle=0.0,dimensions=(1.0,1.0),texture=None,couleur=(1.0,0.0,0.0)):
                   
            
            	x,y,z=position
            	largeur,hauteur=dimensions
            	piece={}
            	
            	piece['position']=position
                    piece['angle']=angle
                    piece['texture']=texture
                    piece['dimensions']=dimensions
                    piece['couleur']=couleur
                    
            	
            	return(piece)
            
            
            def afficherPiece(piece):
            	
            	position = piece[position]
            	angle=piece[angle]
            	texture= piece[texture]
            	dimensions=piece[dimensions]
            	couleur=piece[couleur]
            	prims.afficherSol(texture,taille)
            
            	x,y,z=position
            	
                    prims.afficherRectangle(position,angle,texture,couleur)
            


            voila le module environnement :
            import pyglet
            from pyglet.gl import *
            
            
            import camera as cam
            import scene1 as scene
            import primitives as prims
            
            import pieces
            textureMur,texturePanneau,textureMobile,textureSol = None,None,None,None
            
            def chargerLesTextures():
            	global textureSol, texturePanneau, textureMobile, textureMur
            	textureSol     = prims.chargerTexture('textures/paves.png')
            	texturePanneau = prims.chargerTexture('textures/panneau.jpg')
            	textureMobile  = prims.chargerTexture('textures/ima-transp.png')
            	textureMur     = prims.chargerTexture('textures/mur.png')
            
            def creerEnv(piece):
            
            	global position,angle,dimensions,texture,couleur
            
            	env=[]
            	piece=pieces.creerPiece(position=(1.0,0.0,0.0),texture=textureMur,dimensions=(20.0,7.0))
            	env.append(piece)
            	piece1=pieces.creerPiece(position=(10.0,0.0,0.0),texture=textureMur,dimensions=(20.0,7.0))
            	env.append(piece1)
            	return (env)     
            
            
            
            def afficherEnv(env):
            	
            	
            	for lespieces in env:
            		pieces.afficherPiece(lespieces)
            
            • Partager sur Facebook
            • Partager sur Twitter
            Anonyme
              20 mai 2011 à 18:03:53

              def creerEnv(piece):
              		
              	env=[]
              	env.append(piece.creerPiece(position=(0.0,0.0,0.0),angle=0.0,texture=textureMur,dimension=(20.0,7.0))
              	
              	return(env)
              


              Vire l'argument piece de ta fonction

              ça donne tout simplement ça

              def creerEnv():
              		
              	env=[]
              	env.append(piece.creerPiece(position=(0.0,0.0,0.0),angle=0.0,texture=textureMur,dimension=(20.0,7.0))
              	
              	return(env)
              
              • Partager sur Facebook
              • Partager sur Twitter
                20 mai 2011 à 18:17:19

                C'est bon je l'ai supprimer mais il m'affiche une erreur sur le for :

                line 101, in on_draw
                piece.afficherPiece(piece)
                AttributeError: 'NoneType' object has no attribute 'afficherPiece'
                • Partager sur Facebook
                • Partager sur Twitter
                Anonyme
                  20 mai 2011 à 18:23:48

                  Oula, je pense que tu devrais revoir quelques bases mon cher ;)

                  • Partager sur Facebook
                  • Partager sur Twitter
                    20 mai 2011 à 21:01:27

                    elle est où la fonction on_draw?
                    • Partager sur Facebook
                    • Partager sur Twitter
                      20 mai 2011 à 22:18:26

                      Tu as oublié le s à "pieces.creerPiece", on dirait.

                      Tu appelles une fonction du module pieces, pas une méthode d'un objet piece (qui n'existe pas, donc qui est de type None, et n'a donc pas de méthode ou d'attribut de ce nom, d'où le message d'erreur).
                      • Partager sur Facebook
                      • Partager sur Twitter
                      Zeste de Savoir, le site qui en a dans le citron !
                        21 mai 2011 à 10:24:59

                        Merci pour vos réponses mon probleme est réglé, j'avais mal fait les liens entre mon mudule principal et mes sous modules, tout fonction à merveille.

                        Merci
                        • Partager sur Facebook
                        • Partager sur Twitter

                        Probleme dans une définition

                        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                        × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                        • Editeur
                        • Markdown