Bonjour,
Je suis sur Visual Studio 2015 donc j'ai compiler le code de la SFML pour qu"il fonctionne avec VS2015 est j'ai une erreur je sait pas d'où elle viens
Erreur
Gravité Code Description Projet Fichier Ligne
Erreur LNK2001 symbole externe non résolu "public: static class sf::Color const sf::Color::Red" (?Red@Color@sf@@2V12@B) Human vs Aliens C:\Users\maxim\documents\visual studio 2015\Projects\Human vs Aliens\Human vs Aliens\Bullets.obj 1
Erreur LNK2001 symbole externe non résolu "public: static class sf::RenderStates const sf::RenderStates::Default" (?Default@RenderStates@sf@@2V12@B) Human vs Aliens C:\Users\maxim\documents\visual studio 2015\Projects\Human vs Aliens\Human vs Aliens\Ennemy.obj 1
Erreur LNK1120 2 externes non résolus Human vs Aliens C:\Users\maxim\documents\visual studio 2015\Projects\Human vs Aliens\Release\Human vs Aliens.exe 1
Bullets.h
#ifndef BULLETS_H
#define BULLETS_H
#include <SFML\Graphics.hpp>
#include "Human.h"
class Bullets
{
public:
Bullets::Bullets();
//Accesseurs
int Bullets::getX(void) const;
int Bullets::getY(void) const;
int Bullets::getSpeed(void) const;
//Mutateur
void Bullets::setX(int valeur);
void Bullets::setY(int valeur);
void Bullets::setSpeed(int valeur);
//Fonction
void Bullets::draw(sf::RenderWindow &window, Map &map);
void Bullets::init(sf::RenderWindow &window, Map &map);
//void Bullets::shoot(sf::RenderWindow &window, Map &map);
private:
int sizeX;
int sizeY;
int speedBullets;
int x, y;
int direction,etat;
sf::RectangleShape rect;
enum { BULLETSI, BULLETSL, BULLETSR, BULLETSU, BULLETSD };
enum { ARRET, AVANCE };
};
#endif // !BULLETS_H
Bullets.cpp
#include <SFML\Graphics.hpp>
#include <iostream>
#include "Human.h"
#include "Map.h"
#include "Bullets.h"
Human human;
Bullets::Bullets()
{
sizeX = 32;
sizeY = 32;
speedBullets = 3;
x = human.getX();
y = human.getY();
direction,etat = 0;
}
void Bullets::init(sf::RenderWindow &window, Map &map)
{
sizeX = 32;
sizeY = 32;
speedBullets = 3;
x = 100;
y = 300;
direction =BULLETSU;
etat = ARRET;
}
int Bullets::getX(void) const { return x; }
int Bullets::getY(void) const { return y; }
int Bullets::getSpeed(void) const { return speedBullets; }
//Mutateurs
void Bullets::setX(int valeur) { x = valeur; }
void Bullets::setY(int valeur) { y = valeur; }
void Bullets::setSpeed(int valeur) { speedBullets = valeur; }
void Bullets::draw(sf::RenderWindow &window, Map &map)
{
rect.setFillColor(sf::Color::Red);
rect.setPosition(x, y);
rect.setSize(sf::Vector2f(sizeX, sizeY));
}
/*void Bullets::shoot(sf::RenderWindow &window, Map &map)
{
x += speedBullets;
window.draw(rect);
}*/
Ennemy.h
#ifndef ENNEMY_H
#define ENNEMY_H
#include <SFML\Graphics.hpp>
#include "Map.h"
class Ennemy
{
public:
Ennemy();
//ACCESSEUR
int Ennemy::getX(void) const;
int Ennemy::getY(void) const;
int Ennemy::getW(void) const;
int Ennemy::getH(void) const;
int Ennemy::getLife(void) const;
int Ennemy::getSpeed(void) const;
//MUTATEUR
void Ennemy::setX(int valeur);
void Ennemy::setY(int valeur);
void Ennemy::setW(int valeur);
void Ennemy::setH(int valeur);
void Ennemy::setLife(int valeur);
void Ennemy::setSpeed(int valeur);
// Fonction
void Ennemy::init(sf::RenderWindow &window);
void Ennemy::draw(sf::RenderWindow &window, Map &map);
void Ennemy::update(sf::RenderWindow &window);
private:
int life = 100;
int x, y, h, w;
int speed;
sf::Sprite ennemySprite;
sf::Texture ennemyTexture;
};
#endif // !ENNEMY_H
Ennemy.cpp
#include "Ennemy.h"
Ennemy::Ennemy()
{
if (!ennemyTexture.loadFromFile("ennemy/ennemy.png"))
{
std::cout << "ERROR LOAD TEXTURE ENNEMY" << std::endl;
}
else
{
ennemySprite.setTexture(ennemyTexture);
}
x = y = 0;
h = w = 32;
life = 0;
speed = 0;
}
int Ennemy::getX(void) const{ return x; }
int Ennemy::getY(void) const { return y; }
int Ennemy::getW(void) const { return w; }
int Ennemy::getH(void) const{ return h; }
int Ennemy::getLife(void) const{ return life; }
int Ennemy::getSpeed(void) const{ return speed; }
void Ennemy::setX(int valeur) { x = valeur; }
void Ennemy::setY(int valeur) { y = valeur; }
void Ennemy::setH(int valeur) { h = valeur; }
void Ennemy::setW(int valeur) { w = valeur; }
void Ennemy::setLife(int valeur) { life = valeur; }
void Ennemy::setSpeed(int valeur) { speed = valeur; }
void Ennemy::init(sf::RenderWindow &window)
{
life = 100;
if (life == 0)
{
ennemySprite.setPosition(sf::Vector2f(300, 200));
}
}
void Ennemy::draw(sf::RenderWindow &window, Map &map)
{
ennemySprite.setPosition(sf::Vector2f(100, 200));
//std::cout << "Ennemy life = " << life << std::endl;
window.draw(ennemySprite);
}
Voila si j'ai compris sa vien de c'est deux classe
Merci pour votre aide