CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

[PYTHON] Erreur que je ne comprend pas, besoin d'aide

Coeugniet
Coeugniet
Niveau 9
26 juillet 2017 à 08:33:22

Salut :hap:
Je suis en train de réaliser mon premier jeu type plateformer sur python avec la librairie pygame (je connais que ça ^^')
je suis vers la fin là, j'ai mon perso animer, mes plateformes, mes ennemies, les collisions tout est ok il me reste plus qu'a animer l'objectif, c'est un coffre, le perso touche la hitbox de ce coffre et le jeu se termine c'est très simpliste et pour animer j'utilise la même méthode que pour mon perso, je prend les position de la hitbox et je cale l'image correspondante selon certains paramètre a quelque pixels au dessus histoire que la hitbox ne soit pas à la limite de l'image quoi donc ça fait un truc du style :
afficher l'image a la position : "pos_x de la hitbox" - n pixel , "pos_y de la hitbox" - n pixel
Je sais pas si je me suis fait comprendre ^^'
bref ce qui me pose soucis c'est que la méthode est EXACTEMENT la même qu'avec mon perso qui lui marche niquel et pourtant avec mon objectif il me sort cette erreur :
TypeError: 'function' object is not subscriptable
à cette ligne :
surface.blit(att['list_img_lock'][att['img']],[att['pos_x']-9,att['pos_y']-13])
en sachant que la ligne d'affichage de l'image pour mon perso est celle ci :
surface.blit(att['list_img_stand_d'][att['img']],[att['pos_x']-23,att['pos_y']-64])
il n'y a aucune différence, les position son amener de la même façon via le main ils sont toutes deux manipuler dans une fonction update() vraiment il n'y a aucune différence, ça fait 1h que je cherche là je voit pas :/
Je vous met le code complet de mon fichier objectif.py et avatar.py désoler d'avance j'ai pas pris du tout l'habitude de commenter mes fonctions pour l'instant :/

objectif.py :
https://pastebin.com/GNaPmLTf

avatar.py :
https://pastebin.com/bpwtfB4w

je vous met aussi le main et le fichier scenario qui initialise update et dessine tout les differents fichier du jeu :

__main__.py :
https://pastebin.com/mv7QZrnD

scenario.py :
https://pastebin.com/2i7A1J5g

Merci d'avance à tous ceux qui prendront le temps de m'aider, vraiment :bravo:

Message édité le 26 juillet 2017 à 08:36:16 par Coeugniet
Blaff10
Blaff10
Niveau 10
26 juillet 2017 à 10:55:42

Regarde dans avatar.py :

att['list_img_stand_d'] = convertisseur.stand_droite()

Alors que dans objectif.py :

att['list_img_lock'] = convertisseur.coffre_lock

A mon avis, il manque des parenthèses pour appeler la fonction. :ok:

Sinon tu ne fais qu'assigner la fonction elle-même et non le résultat. :-)))

Message édité le 26 juillet 2017 à 10:56:04 par Blaff10
Coeugniet
Coeugniet
Niveau 9
26 juillet 2017 à 11:04:12

Le 26 juillet 2017 à 10:55:42 Blaff10 a écrit :
Regarde dans avatar.py :

att['list_img_stand_d'] = convertisseur.stand_droite()

Alors que dans objectif.py :

att['list_img_lock'] = convertisseur.coffre_lock

A mon avis, il manque des parenthèses pour appeler la fonction. :ok:

Sinon tu ne fais qu'assigner la fonction elle-même et non le résultat. :-)))

Ahlala ^^' quel idiot, bien vu ^^ merci beaucoup effectivement j'avais zapper ces fichus parenthèses ^^'

Sous forums
  • Aide à l'achat Mac
  • Création de sites web
  • Internet
  • Macintosh
  • Création de Jeux
  • Linux
  • Programmation
  • Steam Deck
  • Hardware
La vidéo du moment