Partage
  • Partager sur Facebook
  • Partager sur Twitter

Error 'pygame.Surface' object is not callable

Sujet résolu
    26 octobre 2016 à 11:46:10

    Alors voila le probeme.

    je suis sr le TP DK-labyrinthe et je fait un editeur de niveau. et j'ai un probleme au niveau du code qui definit ou doit etre bliter le bloc.

    je le fait avec une fonction qui renvoi le multiple de 30 (parce que ma fenetre fait 450x450px soit (15 x 30 px) x (15 x 30 px)).et le programma me renvoie l'errueur:'pygame.Surface' object is not callable. Povez vous m'aider?

    voici le code:

           if clickdroit == 1:
                pos_quadrillage_x = quadrillage(pos_souris_x)#l'erreur est la
                pos_quadrillage_y = quadrillage(pos_souris_y)#la aussi
                if image_choisi == 1:
                    fenetre.blit(depart, (pos_quadrillage_x, pos_quadrillage_y))
                if image_choisi == 2:
                    fenetre.blit(mur, (pos_quadrillage_x, pos_quadrillage_y))
                if image_choisi == 3:
                    fenetre.blit(arrivee, (pos_quadrillage_x, pos_quadrillage_y))

    #la fonction quadrillage

    def quadrillage(pos = 0):
    pos = int(pos)
    if pos % 30 == 0:
    return pos
    else:
    i = 0
    while not pos % 30 == 0:
    pos -= 1
    return int(pos)
    • Partager sur Facebook
    • Partager sur Twitter
      26 octobre 2016 à 11:56:39

      L'erreur signifie que tu ne peux pas mettre de parenthèses sur l'objet auquel tu es en train d'en mettre. Puisque l'erreur survient à la ligne 2, c'est que tu as sûrement réaffecté l'étiquette quadrillage ou int à un autre objet. Regarde dans ton code si tu n'as pas fait une réaffectation de l'une de ces deux variables à un moment où un autre.

      PS: À quoi sert le i dans la fonction quadrillage?

      -
      Edité par Olygrim 26 octobre 2016 à 11:57:30

      • Partager sur Facebook
      • Partager sur Twitter
      Précepte: Le mieux est l'ennemi du bien
        26 octobre 2016 à 12:15:03

        Olygrim a écrit:

        L'erreur signifie que tu ne peux pas mettre de parenthèses sur l'objet auquel tu es en train d'en mettre. Puisque l'erreur survient à la ligne 2, c'est que tu as sûrement réaffecté l'étiquette quadrillage ou int à un autre objet. Regarde dans ton code si tu n'as pas fait une réaffectation de l'une de ces deux variables à un moment où un autre.

        PS: À quoi sert le i dans la fonction quadrillage?

        -
        Edité par Olygrim il y a 14 minutes

        Merci, je vais enlever les parenthese. 

        PS:le i est bien une erreur

        • Partager sur Facebook
        • Partager sur Twitter
          26 octobre 2016 à 23:11:45

          quadrillage est une Surface déclarée après la définition de la fonction du même nom.
          • Partager sur Facebook
          • Partager sur Twitter

          Python c'est bon, mangez-en. 

          Error 'pygame.Surface' object is not callable

          × 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