Bonjour !
J'ai encore un problème pour mes vertex. J'ai voulu me créer une classe représentant un niveau. Cependant je n'arrive pas à utiliser les vertex. Pour faire simple j'ai modifier ma fonction pour ceci:
m_vertices.setPrimitiveType(sf::Quads);
m_vertices.resize(4);
m_vertices[0].position = sf::Vector2f(0, 0);
m_vertices[1].position = sf::Vector2f(32, 0);
m_vertices[2].position = sf::Vector2f(32, 32);
m_vertices[3].position = sf::Vector2f(0, 32);
// on définit ses quatre coordonnées de texture
m_vertices[0].texCoords = sf::Vector2f(0, 0);
m_vertices[1].texCoords = sf::Vector2f(32, 0);
m_vertices[2].texCoords = sf::Vector2f(32, 32);
m_vertices[3].texCoords = sf::Vector2f(0, 32);
Une fonction qui défini juste une tile avec des coordonnées dans un texture. Puis la fonction draw :
void Level::draw(sf::RenderTarget& target, sf::RenderStates states) const
{
// on applique la transformation
states.transform *= getTransform();
// on applique la texture du tileset
states.texture = m_tileset->getSprite().getTexture();
// et on dessine enfin le tableau de vertex
target.draw(m_vertices, states);
}
Sauf que mon programme cesse de fonctionner quand j'arrive à la ligne target.draw(m_vertices, states);
Je ne vois pas trop où se trouve le problème (sachant que j'ai voulu faire un cas simple), que la texture est normalement correctement chargé. Donc si vous avez des idées d'un problème qui pourrait arriver à cette ligne.
Merci