domin568 Temat założony przez niniejszego użytkownika |
[SFML] term does not evaluate to a function taking 0 arguments » 2013-07-31 11:32:51 Witam , zaczynam tworzyć menu do mojej przyszłej gry , zapakowałem wszystko (prawie wszystko) w klasy , oraz napisałem instrukcje warunkową sprawdzającą czy myszka jest na odpowiednim polu . Wyskakuje mi błąd taki jak w temacie . Tutaj wszystkie kody związane z problemem : main.cpp int _tmain( int argc, _TCHAR * argv[] ) { sf::Event zdarzenie; sf::RenderWindow okno( sf::VideoMode( 640, 480, 32 ), "Pierwsze menu" ); sf::Mouse myszka; sf::RectangleShape kwadrat; Button przycisk( 200, 200, 100, 100, "START", okno, kwadrat ); while( okno.isOpen() ) { while( okno.pollEvent( zdarzenie ) ) { sf::Vector2f posMouse( myszka.getPosition( okno ).x, myszka.getPosition( okno ).y ); if( zdarzenie.type == sf::Event::Closed ) { okno.close(); } if( zdarzenie.type == sf::Event::MouseButtonPressed && przycisk.inRectangle( posMouse(), przycisk.getKwadrat() ) == true ) { okno.clear( sf::Color( 255, 0, 0 ) ); } } okno.display(); } return 0; }
Przycisk.h private: sf::RectangleShape kwadrat; public: Button( float, float, float, float, sf::String, sf::RenderWindow &, sf::RectangleShape kwadrat );
sf::RectangleShape getKwadrat(); bool inRectangle( sf::Vector2f pozycja_myszki, sf::Sprite rect );
bool inRectangle( sf::Vector2f pozycja_myszki, sf::RectangleShape rect );
Przycisk.cpp sf::RectangleShape Button::getKwadrat() { return kwadrat; }
bool Button::inRectangle( sf::Vector2f pozycja_myszki, sf::RectangleShape rect ) { if( rect.getGlobalBounds().contains( pozycja_myszki ) ) { return true; } else return false; }
bool Button::inRectangle( sf::Vector2f pozycja_myszki, sf::Sprite rect ) { if( rect.getGlobalBounds().contains( pozycja_myszki ) ) { return true; } else return false; }
Button::Button( float x, float y, float a, float b, sf::String string, sf::RenderWindow & okno, sf::RectangleShape kwadrat ) { sf::Font czcionka; sf::Text text; Button::setRozmiarCzcionki( text, 18 ); Button::loadFont( czcionka, "arial.ttf" ); Button::setFont( text, czcionka ); Button::setText( text, string ); Button::setColorText( text, 255, 0, 0 ); Button::setSizePrzycisk( a, b, kwadrat ); Button::setPositionPrzycisk( text, x, y, kwadrat ); }
|
|
abdi |
» 2013-07-31 11:35:38 kompilator napewno powiedział w której linii występuje błąd. |
|
domin568 Temat założony przez niniejszego użytkownika |
» 2013-07-31 11:37:30 Przepraszam , mój błąd : if( zdarzenie.type == sf::Event::MouseButtonPressed && przycisk.inRectangle( posMouse(), przycisk.getKwadrat() ) == true ) |
|
domin568 Temat założony przez niniejszego użytkownika |
» 2013-07-31 12:55:06 Problem rozwiązany , użyłem w tym wypadku Vectora2f jako funkcji , a trzeba było napisać "posMouse" w instrukcji warunkowej . |
|
« 1 » |