Oups, excuse-moi, autant pour moi ;D
#ifndef PLAYER_H_INCLUDED
#define PLAYER_H_INCLUDED
#include <SFML/Graphics.hpp>
#include <iostream>
#include <vector>
#include <math.h>
class player{
protected:
//sfml
sf::Texture texSoldier;
sf::Sprite sprSoldier;
sf::Vector2i mousePosition;
sf::Vector2f diff;
sf::Clock clockMove;
sf::Clock clockShot;
//float
float xPos, yPos, angle;
//int
int anim = 0;
int gunTime = 400;
//vector
std::vector<sf::CircleShape>vecBullet;
public:
player();
void drawTo(sf::RenderWindow &win);
void checkMoves();
void checkRotation(sf::RenderWindow &win);
void checkFire(sf::RenderWindow &win);
void setPosition(float x, float y);
//getters
int getGunTime();
~player();
};
#endif // PLAYER_H_INCLUDED
Voici mon prototype "player.h", et là, tu vois, admettons que je rajoute tout en haut dans mes attributs, un autre sf::Texture MATEXTURE ou un autre sf::Sprite MONSPRITE et hop, mon sprite Soldier ne s'affiche plus....
Pareil pour ma classe viseur (crosshair) :
Mon personnage et le viseur s'affichent très bien quand je lance mon programme mais si je rajoute un autre sprite dans ma classe crosshair ( genre sf::Sprite sprImpact ou sf::Texture texImpact ) mon personnage de ma classe player disparait lors du lancement du programme alors qu'il n'y a aucun lien entre les 2 classes pourtant.. même pas d'inclusion de l'une ou de l'autre...
#ifndef CROSSHAIR_H_INCLUDED
#define CROSSHAIR_H_INCLUDED
#include <SFML/Graphics.hpp>
class crosshair{
protected:
sf::Texture texCrossHair;
sf::Sprite sprCrossHair;
sf::Vector2f mousePosition;
public:
crosshair();
void checkImpactAnim(sf::RenderWindow &win);
void drawTo(sf::RenderWindow &win);
~crosshair();
};
#endif // CROSSHAIR_H_INCLUDED
EDIT : Ben c'est résolu.. j'ai fermé Code::Blocks par mégarde et en le relançant, mon programme affichait bien tous les sprites !! Donc c'était un bug du compilo ! ;D