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

SFML widgety

Ostatnio zmodyfikowano 2012-10-12 20:40
Autor Wiadomość
anonim
Temat założony przez niniejszego użytkownika
SFML widgety
» 2012-10-12 19:27:53
Cześć, dziasiaj wziąłem się za widgety i menu, to jest testowy program, który ma stworzyć i wyświetlić button:
C/C++
#include <SFML/Graphics.hpp>
#include <iostream>

namespace SKW
{
    class Widget
    {
    public:
        sf::Sprite sprite;
        Widget( sf::Sprite sp )
            : sprite( sp )
        {
           
        }
        void Draw( sf::Sprite sprite, sf::RenderWindow * a )
        {
            a->Draw( sprite );
        }
    };
    class Button
        : public Widget
    {
    public:
        sf::String text;
        Button( sf::Sprite sp, sf::String string )
            : Widget( sp )
            , text( string )
        {
            sprite.SetCenter( sprite.GetSize().x / 2, sprite.GetSize().y / 2 );
        }
        void Draw( sf::RenderWindow w )
        {
            w.Draw( sprite );
            w.Draw( text );
        }
    };
}
int main()
{
    sf::RenderWindow app( sf::VideoMode( 800, 600, 32 ), "Kurs SFML - http://cpp0x.pl" );
    sf::Font czcionka;
    czcionka.LoadFromFile( "Zasoby/Czcionki/TakaoPGothic.ttf" );
    app.SetFramerateLimit( 60 );
    sf::Image ExampleImage;
    ExampleImage.LoadFromFile( "Zasoby/Images/ExampleImage.png" );
    SKW::Button b = SKW::Button( sf::Sprite( ExampleImage, sf::Vector2f( 100, 100 ), sf::Vector2f( 1.0, 1.0 ), 0.0, sf::Color( 255, 255, 255 ) ), sf::String( "trololololo" ) );
    b.text.SetFont( czcionka );
    while( app.IsOpened() )
    {
        sf::Event zdarzenie;
        while( app.GetEvent( zdarzenie ) )
        {
            if( zdarzenie.Type == sf::Event::Closed )
                 app.Close();
           
        }
       
        const sf::Input & input = app.GetInput();
       
        app.Clear( sf::Color( 255, 0, 0 ) );
        b.Draw( & app );
        b.sprite.Rotate( 1.0 );
        app.Display();
    }
    return 0;
}
Jednak program się nie kompiluje.
Mam pytanie: gdzie jest błąd, lub czy da się to zrobić inaczej?
P-66680
DejaVu
» 2012-10-12 19:59:05
1. Nie ma logu kompilacji
2. Tak po samym interfejsie klasy widzę, że raczej nie do końca masz wizję jak to 'GUI' zorganizować aby było wygodne w użyciu :)
P-66683
anonim
Temat założony przez niniejszego użytkownika
» 2012-10-12 20:22:17
sf::RenderWindow nie da się kopiować (to jest w logu kompilacji)
No dobra, nie mam pomysłu jak to zrobić.
Jeśli ktoś wie, lub dysponuje jakims linkiem, to proszę, niech napisze
P-66687
Mrovqa
» 2012-10-12 20:40:50
sf::RenderWindow nie da się kopiować (to jest w logu kompilacji)
To nie jest log...
P-66692
« 1 »
  Strona 1 z 1