Bonjour a tous.
Je fais actuellement un projet d'étude (SFML) et je rencontre un problème qui commence de plus en plus a me décourager.
Dans ce projet , l'utilisateur contrôle un personnage (chasseur) qui doit tirer sur un/des loups qui sont généré.
Le Problème que je rencontre est particulier :
Dans ma classe Personnage , j'ai ajouté un objet membre issu de la classe C_FLECHE qui permettais de tirer des flèches à l'aide d'une méthode tir depuis la position du personnage jusqu'à l'extrémité de la texture de fond.
TOUT FONCTIONNAIT bien , j'ai donc continué a développer la collision du loup mais depuis hier , quand j'ajoute un objet membre à une classe je constate toujours des erreurs,
pourtant je ne crois pas avoir modifié mes constructeurs et le programme fonctionne très bien à partir du moment ou je n'ajoute pas d'objet membre (même les méthodes de ces objets).
je me retrouve avec les erreurs :
C3646 spécificateur de substitution inconnu
C4430 spécificateur de type manquant - int est pris en compte par défaut. Remarque*: C++ ne prend pas en charge int par défautJe peux vous fournir n'importe quel partie de mon code , Merci pour les réponse futur et désolé pour les fautes d'orthographes si il y en a.
SOUS VISUAL STUDIO 2015:
#ifndef C_PERSONNAGE_H
#define C_PERSONNAGE_H
#include "C_ENTITE.h"
#include "C_Fleche.h"
#include "C_LOUP.h"
#include <SFML\Graphics.hpp>
#include <SFML/OpenGL.hpp> // ajout de open gl cour 3
using namespace std;
using namespace sf;
class C_PERSONNAGE : protected C_ENTITE {
public:
friend void Gestion_Entrees();
friend class C_LOUP;
C_PERSONNAGE();
C_PERSONNAGE(char* P_Chemin_Texture, int P_Position_X, int P_Position_Y);
C_Fleche La_Fleche; // ERREUR SIGNALE ICI
using C_ENTITE::Retourne_Sprit;
inline Sprite Retourne_Sprit();
using C_ENTITE::Debug_Affiche_Donnes;
inline void Debug_Affiche_Donnes();
bool Tir();
bool Deplacement(bool P_Destination);
protected:
int Points_De_Vie;
bool Positionnement;
int Position_X;
int Position_Y;
};
#endif // !C_PERSONNAGE_H
C_FLECHE.h :
#ifndef C_FLECHE_H
#define C_FLECHE_H
#include <SFML\Graphics.hpp>
#include <SFML/OpenGL.hpp>
#include "C_LOUP.h"
#include "C_PERSONNAGE.h"
using namespace std;
using namespace sf;
class C_Fleche {
public:
C_Fleche();
C_Fleche(int P_Postion_X, int P_Postion_Y);
inline Sprite Retourne_Sprite();
inline void Positionne_Toi();
inline void Positionne_Toi(int P_Positon_X);
inline void Disparait();
inline void Propulsion(bool P_Sens_Tir,int P_Postion);
int Position_X;
int Position_Y;
protected:
bool Position_Fleche;
const int Degat;
Sprite Sprite_Fleche;
Texture Texture_Fleche;
};
suivit des methodes inline ...
#endif // !C_ENTITE_H
C_FLECHE.cpp :
#include <SFML\Graphics.hpp>
#include <SFML/OpenGL.hpp>
#include <iostream>
#include "C_ENTITE.h"
#include "C_PERSONNAGE.h"
#include "C_LOUP.h"
#include "C_Fleche.h"
using namespace std;
using namespace sf;
C_Fleche::C_Fleche()
:Degat(50),Position_X(690), Position_Y(1500), Position_Fleche(true)
{
if (!Texture_Fleche.loadFromFile("C:/Users/user/Documents/Visual Projet SFML/Textures/Fleche.psd"))
{
cout << "Erreur durant le chargement de l'image Objet" << endl;
cout << __FUNCTION__ << endl;
}
else
{
Texture_Fleche.setRepeated(true);
Sprite_Fleche.setTexture(Texture_Fleche);
Sprite_Fleche.setPosition(Vector2f(1500, Position_Y));
Sprite_Fleche.scale(0.5f, 0.5f);
Sprite_Fleche.setColor(sf::Color(255, 255, 255, 0));//Invisible
}
}
C_Fleche::C_Fleche(int P_Postion_X, int P_Postion_Y)
:Degat(50),Position_X(P_Postion_X),Position_Y(P_Postion_Y),Position_Fleche(true)
{
if (!Texture_Fleche.loadFromFile("C:/Users/user/Documents/Visual Projet SFML/Textures/Fleche.psd"))
{
cout << "Erreur durant le chargement de l'image Objet" << endl;
cout << __FUNCTION__ << endl;
}
else
{
Texture_Fleche.setRepeated(true);
Sprite_Fleche.setTexture(Texture_Fleche);
Sprite_Fleche.scale(0.5f, 0.5f);
Sprite_Fleche.setPosition(Vector2f(1500, Position_Y));
Sprite_Fleche.setColor(sf::Color(255, 255, 255, 0));//Invisible
}
}