Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "bois.h"
- bool Bois::load(const std::string& fichier, sf::Vector2u tailleTuile, int *tuiles, int largeur, int hauteur){
- if(!m_texture.loadFromFile(fichier)){
- return false;
- }
- m_vertices.setPrimitiveType(sf::Quads);
- m_vertices.resize(largeur * hauteur * 4);
- for(int i = 0; i < largeur; i++){
- for(int j = 0; j < hauteur; j++){
- int numeroTuile = tuiles[i + j * largeur];
- sf::Vertex *quad = &m_vertices[(i + j * largeur) * 4];
- quad[0].position = sf::Vector2f(i * tailleTuile.x, j * tailleTuile.y);
- quad[1].position = sf::Vector2f((i + 1) * tailleTuile.x, j * tailleTuile.y);
- quad[2].position = sf::Vector2f((i + 1) * tailleTuile.x, (j + 1) * tailleTuile.y);
- quad[3].position = sf::Vector2f(i * tailleTuile.x, (j + 1) * tailleTuile.y);
- quad[0].texCoords = sf::Vector2f(numeroTuile * tailleTuile.x, 0);
- quad[1].texCoords = sf::Vector2f((numeroTuile + 1) * tailleTuile.x, 0);
- quad[2].texCoords = sf::Vector2f((numeroTuile + 1) * tailleTuile.x, tailleTuile.y);
- quad[3].texCoords = sf::Vector2f(numeroTuile * tailleTuile.x, tailleTuile.y);
- }
- }
- return true;
- }
- void Bois::draw(sf::RenderTarget &target, sf::RenderStates states) const{
- states.transform *= getTransform();
- states.texture = &m_texture;
- target.draw(m_vertices, states);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement