[SFML][C++] Zmiana koloru tekstu po najechaniu kursorem
Ostatnio zmodyfikowano 2021-04-29 18:31
R0ut4 Temat założony przez niniejszego użytkownika |
» 2021-04-29 16:42:44 Próbowałem i wyszło cos takiego: Problem jest taki, że wszystko się wyświetla itp, jednak po klikni,eciu myszką na tekst start nic się dzieje. wycinek z main.cpp case Menu: { if( przycisk_start.getGlobalBounds().contains( sf::Mouse::getPosition( window ).x, sf::Mouse::getPosition( window ).y ) ) { if( sf::Mouse::isButtonPressed( sf::Mouse::Left ) ) { start = Game; } } if( sf::Keyboard::isKeyPressed( sf::Keyboard::Enter ) ) { start = Game; } if( sf::Keyboard::isKeyPressed( sf::Keyboard::Escape ) ) { window.close(); } } break;
tekst.hpp #ifndef przycisk_hpp #define przycisk_hpp
#include <SFML/Graphics.hpp> #include <SFML/Window.hpp>
class Guzik : public sf::Text { private: sf::Text tekst; public: Guzik( std::string tekst, sf::Color color, sf::Font & font, int charactersize, sf::Vector2i position ); private: void draw( sf::RenderTarget & target, sf::RenderStates states ) const; }; #endif tekst.cpp #include <SFML/Graphics.hpp> #include <SFML/Window.hpp> #include "przycisk.hpp" Guzik::Guzik( std::string tekst, sf::Color color, sf::Font & font, int charactersize, sf::Vector2i position ) { this->tekst.setString( tekst ); this->tekst.setFont( font ); this->tekst.setColor( color ); this->tekst.setCharacterSize( charactersize ); this->tekst.setPosition( position.x, position.y ); } void Guzik::draw( sf::RenderTarget & target, sf::RenderStates states ) const { states.transform *= getTransform(); target.draw( tekst, states ); }
|
|
pekfos |
» 2021-04-29 17:24:57 Wywal to, skoro i tak masz już obiekt sf::Text z dziedziczenia. Teraz masz dwa obiekty sf::Text - jednego używasz do wykrywania kliknięcia, drugiego do wszystkiego innego. Pierwszy nie ma nawet ustawionej pozycji ani tekstu. |
|
R0ut4 Temat założony przez niniejszego użytkownika |
» 2021-04-29 17:37:02 Spróbuje zaraz, ale nie do końca rozumiem jqk to ma działać, skoro sf::Text tekst; to stworzenie obiektu tekst do którego przypisuje dane
EDIT: class guzik has no member named tekst |
|
R0ut4 Temat założony przez niniejszego użytkownika |
» 2021-04-29 18:31:17 Ok, po usunięciu "tekst." po this-> I usunięciu funkcji void draw z klasy przycisk.hpp WSZYSTKO DZIAŁA Dziekuje za pomoc i temat zamykam |
|
1 « 2 » |