Bienvenue, Invité. Merci de vous connecter ou de vous inscrire. Avez-vous oublié d'activer ?

Voir les contributions

Cette section vous permet de consulter les contributions (messages, sujets et fichiers joints) d'un utilisateur. Vous ne pourrez voir que les contributions des zones auxquelles vous avez accès.


Messages - Kokyett

Pages: [1]
1
Général / Re : Program received signal SIGSEGV
« le: Janvier 28, 2016, 06:41:38 am »
Je peux me planter car encore une fois je connais pas bien les sprites et, le c/c++, ça fait longtemps que j'ai pas utilusé. De plus je n'ai pas de PC sous la main, je ne peux pas vérifier ce que je dis.

Map.cpp
   
#include "Map.h"
 
Map::Map()
{
 
int carte[800/taille_block][400/taille_block];
vector<entity> objects;
entity carte_base("map1.png");
 
 
carte_w = carte_base.getSprite().getTexture()->getSize().x;
carte_h = carte_base.getSprite().getTexture()->getSize().y;
 
num_ofObject = (carte_w/taille_block)*(carte_h/taille_block);
cout << num_ofObject << endl;
 
for(int i = 0; i < carte_w/taille_block; i++)
{
  for(int y = 0; y < carte_h/taille_block; y++)
{
carte_base.getSprite().setTextureRect(IntRect(i*taille_block,y*taille_block,taille_block,taille_block));
objects.push_back(carte_base);
cout << "Object added sucessfully ! x : "<<i*taille_block<<" y : "<<y*taille_block<<endl;
 
}
}

}
 

En regardant mieux, a quoi sert la ligne
objects.push_back(carte_base);
objects contient plusieurs éléments mais ils sont tous identiques.

Juste avant le push_back tu fais
carte_base.getSprite()...
Cette méthode te retourne toujours le même sprite : sp_perso de la classe entity. Donc tu modifies toujours sp_perso qui contient toujours le dernier sprite de ton fichier texture à la fin de ton traitement.

2
Général / Re : Program received signal SIGSEGV
« le: Janvier 27, 2016, 09:40:02 pm »
Les sprites je connais pas encore. Si tout est blanc, je me dis que le programme ne trouve pas l'image. Essaie de mettre le chemin de l'image au complet. Si ça marche, c'est qu'il trouve pas l'image dans le dossier à partir duquel tu lances ton application.

3
Général / Re : Program received signal SIGSEGV
« le: Janvier 27, 2016, 05:43:04 pm »
J'essaie aussi d'apprendre à utiliser la SFML.

Je modifie ma précédente réponse. Je suis sur mon téléphone et lire le code c'est pas facile mais je pense avoir trouvé.

Map::Map()
{
 
int carte[800/taille_block][400/taille_block];
vector<entity> objects;
entity carte_base("map1.png");
 

Tu crées la variable objets dans le constructeur alors qu'il existe une propriété objects dans cette classe. Le constructeur "charge" la variable et non la propriété. Supprime donc la variable du constructeur.

Pages: [1]