Witam, tak jak w tytule, chciałbym zrobić klasę Button, której obiekty będą przyciskami o różnych wymiarach, tekście, oraz obrazku. W tym celu posłużyłem się strukturą sf::VertexArray i prymitywie sf::LinesStrip. Otóż zatrzymałem się w momencie, w którym po utworzeniu nowego obiektu klasy Button o nazwie 'but' i wyświetleniu go na oknie o nazwie 'window' za pomocą window.draw(but), pojawia się ów prostokąt o współrzędnych ustalonych przeze mnie :) Z tym, że nie mam pojęcia jak ruszyć na przód.. chciałbym teraz, aby w środku moich prostokątów były tekstury/sprity, lecz nie wiem jak je tam wczytać, a następnie wyświetlić. Próbowałem kombinować z states.texture, ale nie działa. Jakieś porady?
Oto fragmenty kodu:
class Button : public sf::Drawable
{
private:
sf::VertexArray ramka = sf::VertexArray(sf::LinesStrip, 5);
sf::Texture tekstura;
std::string tekst;
public:
Button(float, float);
//~Button();
virtual void draw(sf::RenderTarget& target, sf::RenderStates states) const;
};
void Button::draw(sf::RenderTarget& target, sf::RenderStates states) const
{
states.texture = &tekstura;
target.draw(ramka,states);
}
Button::Button(float xx, float yy)
{
if (!tekstura.loadFromFile("src/img/texture.jpg"))
EXIT_FAILURE;
[...]
}