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

[SFML] Problème tableau de sprites

CookieUltime
CookieUltime
Niveau 10
07 août 2012 à 11:35:48

Bonjour :)

J'essaye en ce moment de faire un lecteur de fichier capable de le traduire en tiled map, j'utilise pour cela deux tableaux, un qui stocke les int en fonction de la lecture du fichier(il reproduit le "schéma" de la map) et un autre de sf::sprite qui stocke les tiles

Mon fichier .map ressemble à ça :
2
4
2
0 1
1 1

Sa lecture ne pose pas problème

Voici le code de tiledmap.cpp:
http://pastebin.com/apwZB5uD

Le compilo ne trouve aucune erreur mais quand je lance le programme, il ne réponds plus!

Le problème semble venir de la méthode Afficher(), plus particulièrement de la ligne "app.Draw(_tableauTiles[0]);"

C'est donc ce tableau la source du pb car quand j'affiche un sprite normal dans cette méthode ça marche :(

Merci d'avance pour vos réponses, je fais surement de grosses erreurs, je débute :merci:

tbop2
tbop2
Niveau 10
07 août 2012 à 13:45:04

Salut. Le code est un peu moche en fait mais avant de faire dans le code review on va deja soigner le probleme a la racine (mince j'ai l"impression de devenir docteur moi). Le format de fichier est aussi un peu tout moche mais passons.

Si ton programme ne repond plus peut-etre qu'il est bloque dans une boucle infinie. Pourquoi ne tout simplement pas mettre un breakpoint au point d'entree de la fonction TiledMap::Afficher et verifier que tout est en ordre ? Attributs _hauteur et _largeur bien initialises par example, ta structure Array qui contient les tableaux elle vient d'ou au juste par ailleurs ? Je ne la vois pas s'initialiser dans le constructeur.

CookieUltime
CookieUltime
Niveau 10
07 août 2012 à 18:24:41

J'ai vérifié, le programme bloque à la ligne app.Draw(_tableauTiles[0]); , ce n'est pas une boucle infinie (ou alors dans la méthode Draw...)

Tbop2 :d) En effet je n'avais pas initialisé le premier tableau

Je dois faire une erreur quand j'affecte les tiles dans le tableau, puisque Draw n'arrive pas à les afficher, mais je ne vois pas où...

Ou alors je manipule très mal les attributs et je me retrouve avec un tableau de sprites vide? :(

CookieUltime
CookieUltime
Niveau 10
07 août 2012 à 18:42:52

Problème résolu !

Mon image n'est pas un attribut, elle est donc détruite à la fin du constructeur, les sprites pointaient alors sur une image qui n'existe plus!

gevoueibienu
gevoueibienu
Niveau 6
07 août 2012 à 19:13:39

"sf::Sprite _tableauTiles[nbTiles];" interdit non ?

CookieUltime
CookieUltime
Niveau 10
07 août 2012 à 19:53:20

Exact gevoueibienu, ça posait aussi problème, je l'ai supprimé :)

lemokh
lemokh
Niveau 5
08 août 2012 à 00:21:24

Pourquoi c'est interdit ?

caelacanthe
caelacanthe
Niveau 10
08 août 2012 à 00:28:51

on est pas vraiment supposé faire des allocations statiques avec des variables non-constantes, le compilateur fait la tronche. ça va à l'encontre du concept d'allocation statique. :non:

lemokh
lemokh
Niveau 5
08 août 2012 à 02:46:28

Ah ok j'avais pas vu la variable, j'pensais que c'était juste interdit de faire un tableau de sprite, j'avais pas compris sur le coup.

tbop2
tbop2
Niveau 10
08 août 2012 à 11:03:18

CookieUltime tu devrais (dois) utiliser des std::vector dans ce cas-la et ne pas t'embeter avec autre chose que ca lorsqu"il s'agit de collecter des sprites dans un tableau.

CookieUltime
CookieUltime
Niveau 10
08 août 2012 à 11:26:10

Ça tombe bien tbop, c'est exactement ce que je viens de faire pour mes deux tableaux :)

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