Bienvenue, Invité. Merci de vous connecter ou de vous inscrire.
Avez-vous perdu votre e-mail d'activation ?

Auteur Sujet: Erreur de la SFML  (Lu 1755 fois)

0 Membres et 1 Invité sur ce sujet

TheYoungGeek43

  • Jr. Member
  • **
  • Messages: 87
    • Voir le profil
Erreur de la SFML
« le: Juillet 26, 2015, 06:15:09 pm »
Bonjour,

Je suis entrain de coder un projet j'ai deja mis beacoup de chose et je compile apres avoir implementer les ennemy est la SFML me crache plusieur erreur
Erreur  1       error C2248: 'sf::NonCopyable::NonCopyable' : impossible d'accéder à private membre déclaré(e) dans la classe 'sf::NonCopyable'     D:\Dévellopement\SFML-2.3.1\include\SFML\Window\Window.hpp     521     1       Humain vs Alien
Erreur  2       error C2248: '
sf::NonCopyable::NonCopyable' : impossible d'accéder à private membre déclaré(e) dans la classe 'sf::NonCopyable'     D:\Dévellopement\SFML-2.3.1\include\SFML\Graphics\RenderTarget.hpp     419     1       Humain vs Alien
        3       IntelliSense : aucune instance du constructeur "sf::ContextSettings::ContextSettings" ne correspond à la liste d'arguments     d:\Dévellopement\SFML-2.3.1\include\SFML\Window\Window.hpp     89      114     Humain vs Alien
        4       IntelliSense : aucune instance du constructeur "sf::ContextSettings::ContextSettings" ne correspond à la liste d'
arguments     d:\Dévellopement\SFML-2.3.1\include\SFML\Window\Window.hpp     106     76      Humain vs Alien
        5       IntelliSense : aucune instance du constructeur "sf::ContextSettings::ContextSettings" ne correspond à la liste d'arguments     d:\Dévellopement\SFML-2.3.1\include\SFML\Window\Window.hpp     133     119     Humain vs Alien
        6       IntelliSense : aucune instance du constructeur "sf::ContextSettings::ContextSettings" ne correspond à la liste d'
arguments     d:\Dévellopement\SFML-2.3.1\include\SFML\Window\Window.hpp     151     72      Humain vs Alien

 

Main.cpp

#include <SFML\Graphics.hpp>
#include <iostream>
#include "Human.h"
#include "Input.h"
#include "Map.h"
#include "Bullets.h"
#include "Ennemy.h"

using namespace std;

int main()
{
        const int screenWidth = 800;
        const int screenHeight = 480;

        sf::RenderWindow window(sf::VideoMode(screenWidth, screenHeight, 32), "Human vs Alien v 2.0", sf::Style::Default);
        window.setFramerateLimit(60);
       

        Human human;
        Input input;
        Map map;
        Bullets bullets;
        Ennemy ennemy;

        human.init(map,false);
        human.setLife(100);
       
        map.setLevel(1);
        map.changeLevel();

        bullets.init(window, map);

        ennemy.init(window);

        while (window.isOpen())
        {
                input.gestionInputs(window);
                human.update(input,window);
                bullets.update(input, window, map);
                human.collisionE(ennemy, window, map);

                window.clear();
                map.drawBackground(window);
                map.draw(2, window);
            map.draw(1, window);

                // Affiche le joueur
                human.draw(window, map);
                //bullets.draw(window, map);
                ennemy.draw(window, map);

                map.draw(3, window);
                window.display();
        }
        return 0;
}

 

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);
}

 

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

 

Merci de me dire si vous avez besoin d'autre chose
Merci pour vos réponse
L'échec est la preuve que l'on à essayer

Laurent

  • Administrator
  • Hero Member
  • *****
  • Messages: 32504
    • Voir le profil
    • SFML's website
    • E-mail
Re : Erreur de la SFML
« Réponse #1 le: Juillet 26, 2015, 10:39:52 pm »
Il y a un endroit où tu passes par copie une sf::RenderWindow.
Laurent Gomila - SFML developer

TheYoungGeek43

  • Jr. Member
  • **
  • Messages: 87
    • Voir le profil
Re : Erreur de la SFML
« Réponse #2 le: Juillet 26, 2015, 10:58:32 pm »
Bonjour,
Je ne comprend pas se que vous voulez dire
L'échec est la preuve que l'on à essayer

Laurent

  • Administrator
  • Hero Member
  • *****
  • Messages: 32504
    • Voir le profil
    • SFML's website
    • E-mail
Re : Erreur de la SFML
« Réponse #3 le: Juillet 27, 2015, 08:43:32 am »
Tu dois avoir une fonction de ce genre :

void xxx(sf::RenderWindow window);
Laurent Gomila - SFML developer

TheYoungGeek43

  • Jr. Member
  • **
  • Messages: 87
    • Voir le profil
Re : Erreur de la SFML
« Réponse #4 le: Juillet 27, 2015, 09:42:27 am »
merci j'avais une fonction
void Humman::CollisionE(Ennemy &ennemy,sf::RenderWindow, Map &map);
Je l'ai même pas vus comme quoi je vais trop vite

Merci pour votre réponse
L'échec est la preuve que l'on à essayer