2017-04-12 4 views
1

Ma fenêtre se ferme lorsque je dessine une image-objet.Erreur de segmentation lors du dessin

C'est vraiment la partie de dessin parce que quand je le garde hors de mon code, cela fonctionne très bien, sauf qu'il ne dessine pas mon sprite bien sûr.

Aussi je reçois cette erreur lors de l'exécution: Segmentation fault (core dumped)

Je ne sais pas ce que cela signifie: /.

Et voici mon code:

#include <SFML/Graphics.hpp> 
#include <SFML/System.hpp> 
#include <SFML/Audio.hpp> 
#include <string> 
#include <iostream> 
#include <vector> 

using namespace std; 

//create vars 
sf::Color bgColour(20, 175, 215); 
vector<sf::Sprite> tiles; 

void CreateTile(string Texture, int x, int y) 
{ 
    sf::Vector2f Pos(x, y); 

    sf::Texture Ftexture; 
    Ftexture.loadFromFile(Texture); 
    sf::Sprite Tile; 
    Tile.setTexture(Ftexture); 
    Tile.setPosition(Pos); 

    tiles.push_back(Tile); 
} 

int main() 
{ 
    //create window 
    sf::RenderWindow window(sf::VideoMode(800, 600), "-\\\\-(Game)-//-"); 

    CreateTile("Recources/grass.png", 40, 40); 

    //main loop 
    while (window.isOpen()) { 

     sf::Event event; 

     while (window.pollEvent(event)) {    
      if (event.type == sf::Event::Closed) { 
       window.close(); 
      }    
     } 

     window.clear(bgColour); 
     window.draw(tiles[1]); 
     window.display(); 
    } 

    return 0; 
} 

Merci!

Répondre

1

Vous essayez d'accéder à un élément du vecteur qui n'existe pas.

changer cette

window.draw(tiles[1]); 

à cette

window.draw(tiles[0]);