User Tools

Site Tools


didattici:esempio3sfml

Esempio 3 con sfml (cpp)

NOTA: questo codice ha un problema: la CPU vola al 100%…. per risolvere il problema vedi esempio3sfml

  • prima di compilare è necessario installare i pacchetti elencati nella pagina sfml
  • poi è necessario mettere nella stessa cartella una piccola immagine assi.png (200×200) esempio di assi cartesiani con asse y diretto in basso
  • poi per compilare
      g++ esempio3.cpp -lsfml-graphics -lsfml-system -lsfml-window 
esempio3.cpp
#include <SFML/Graphics.hpp>
 
int main()
{
    sf::RenderWindow window(sf::VideoMode(200, 200), "SFML works!");    
    sf::View fixedView = window.getView(); 
    sf::Texture texture;
    texture.loadFromFile("assi.png");
    sf::Sprite spriteSfondo(texture);
 
    sf::VertexArray linea(sf::Lines,2);
 
    linea[0].position.x=10.f;
    linea[0].position.y=10.f; // x1,y1
    linea[0].color=sf::Color::Green;
    linea[1].position.x=150.f;
    linea[1].position.y=150.f; // x2,y2
    linea[1].color=sf::Color::Green;	
 
    while (window.isOpen())
    {
        sf::Event event;
        while (window.pollEvent(event))
        {
            if (event.type == sf::Event::Closed)
                window.close();
        }
 
        window.clear();
	window.setView(fixedView); 
	window.draw(spriteSfondo);
	window.draw(linea);  // segmento
        //window.draw(shape); // qualsiasi altro oggetto aggiunto sopra
 
        window.display();
    }
 
    return 0;
}
didattici/esempio3sfml.txt · Last modified: 2020/06/08 22:20 by 127.0.0.1