Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Tekst jako przycisk

Ostatnio zmodyfikowano 2020-03-12 17:39
Autor Wiadomość
Żerbo
Temat założony przez niniejszego użytkownika
Tekst jako przycisk
» 2020-03-11 22:08:48
Mam problem z linijką kodu gdzie jest Menu_Tekst[0].getGlobalBounds...
Nie kompiluje się, coś robię źle ale nie wiem co.
Pojawia się błąd:
error: no matching function for call to 'sf::Rect<float>::contains(sf::Vector2i)'

Nie potrafię tego zrozumieć i naprawić.

C/C++
#include <SFML/Graphics.hpp>
#include <stdlib.h>
#include <ctime>

using namespace std;
using namespace sf;

sf::RenderWindow Okno;


Text Menu_Tekst[ 3 ];

void Wyswietlanie_Menu()
{
    Font mh;
    mh.loadFromFile( "Fonts/mh.otf" );
   
    Menu_Tekst[ 0 ].setString( "Start" );
    Menu_Tekst[ 1 ].setString( "Ustawienia" );
    Menu_Tekst[ 2 ].setString( "Wyjscie" );
   
    for( int a = 0; a <= 2; a++ )
    {
        Menu_Tekst[ a ].setFont( mh );
        Menu_Tekst[ a ].setCharacterSize( 30 );
        Menu_Tekst[ a ].setPosition( 600, 300 + a * 40 );
        Menu_Tekst[ a ].setFillColor( Color( 200, 200, 200 ) );
    }
   
    for( int a = 0; a <= 2; a++ )
    {
        Okno.draw( Menu_Tekst[ a ] );
    }
}





int main()
{
   
    bool W_Menu = true;
    bool W_Grze = false;
   
    sf::Event Akcja;
    while( Okno.isOpen() ) //Petla glowna programu
    {
       
        while( Okno.pollEvent( Akcja ) )
        {
            if( Akcja.type == Event::MouseMoved )
                 Mouse::getPosition( Okno );
           
            if( Akcja.type == sf::Event::Closed || Akcja.key.code == sf::Keyboard::Q )
                 Okno.close();
           
            if( Akcja.key.code == sf::Keyboard::Escape )
            {
                W_Menu = true;
                W_Grze = false;
            }
           
           
           
            if( Menu_Tekst[ 0 ].getGlobalBounds().contains( Mouse::getPosition( Okno ) ) ) //Chodzi o tą linijkę kodu
            {
                Generowanie_mapy();
                W_Grze = true;
                W_Menu = false;
            }
        }
       
       
    } //Koniec petli glownej programu
}
.
P-176348
pekfos
» 2020-03-12 17:39:21
Nie możesz mieszać różnych sf::Vector2<>. Napisz konwersję na sf::Vector2f, albo użyj contains() z dwoma argumentami.
P-176354
« 1 »
  Strona 1 z 1