Dlaczego funkcja sf::RenderWindow::Draw() jest podkreślona? Wysyłam jej to co che czyli obiekt drawable.
#include <SFML/Graphics.hpp>
#include <cmath>
#include "szturmowiec.h"
#include <string>
int main()
{
sf::RenderWindow oknogry(sf::VideoMode(800, 600, 32), "Moja gra :)");
sf::Font font;
if (!font.loadFromFile("arial.ttf"))
{
// error...
}
sf::Text napis;
napis.setFont(font);
napis.setString("ssssdfssss");
napis.setCharacterSize(23);
szturmowiec * tab[10];
int i=0;
while (oknogry.isOpen()) {
sf::Event zdarzenie;
while (oknogry.pollEvent(zdarzenie))
{
if (zdarzenie.type == sf::Event::Closed) {
oknogry.close();
}
if (sf::Mouse::isButtonPressed(sf::Mouse::Left))
{
i++;
tab[i] = new szturmowiec;
}
if (zdarzenie.key.code == sf::Keyboard::Escape) {
oknogry.close();
}
}
oknogry.clear(sf::Color(255, 0, 0));
oknogry.draw(tab[i]);
oknogry.display();
}
return 0;
}
class szturmowiec : public sf::Drawable
{
public:
sf::Texture tekstura;
sf::Sprite obrazek;
szturmowiec()
{
tekstura.loadFromFile("obrazek.png");
obrazek.setTexture(tekstura);
}
~szturmowiec()
{
}
private:
virtual void draw(sf::RenderTarget & target, sf::RenderStates states) const
{
target.draw(obrazek);
}
};