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

SFML Unhandled Exception ConvexShape

Ostatnio zmodyfikowano 2015-08-22 23:55
Autor Wiadomość
SocrateZ
Temat założony przez niniejszego użytkownika
SFML Unhandled Exception ConvexShape
» 2015-08-22 22:33:18
Witam...
Dziś postanowiłem wrócić do SFML (bawiłem się wersją jeszcze 1.6), więc manual w dłoń i dawajta (widzę inna składnia)...
No niestety, nie pojechałem dalego.
Po utworzeniu kwadratu (ConvexShape) wywala mi bład: Unhandled exception...

C/C++
#include <SFML/Graphics.hpp>

#define WINDOW_WIDTH  800
#define WINDOW_HEIGHT 600

int main( void )
{
    sf::RenderWindow window;
   
    window.create( sf::VideoMode( WINDOW_WIDTH, WINDOW_HEIGHT ), "Test" );
    window.setFramerateLimit( 60 );
   
    sf::ConvexShape shape;
    shape.setFillColor( sf::Color( 24, 250, 24 ) );
    shape.setOutlineColor( sf::Color( 24, 190, 24 ) );
    shape.setOutlineThickness( 5 );
    shape.setPosition( WINDOW_WIDTH / 2, WINDOW_HEIGHT / 2 );
   
    while( window.isOpen() )
    {
        sf::Event event;
       
        if( window.pollEvent( event ) )
        {
            switch( event.type )
            {
            case sf::Event::Closed:
                window.close();
                break;
            case sf::Event::KeyPressed:
                break;
            case sf::Event::KeyReleased:
                if( !event.key.control )
                     break;
               
                switch( event.key.code )
                {
                case sf::Keyboard::T:
                    break;
                case sf::Keyboard::R:
                    shape.setPointCount( 4 );
                   
                    shape.setPoint( 0, sf::Vector2f( - 100.f, - 100.f ) );
                    shape.setPoint( 1, sf::Vector2f( 100.f, - 100.f ) );
                    shape.setPoint( 2, sf::Vector2f( 100.f, 100.f ) );
                    shape.setPoint( 3, sf::Vector2f( - 100.f, 100.f ) );
                    break;
                }
                break;
            case sf::Event::MouseButtonPressed:
                break;
            case sf::Event::MouseButtonReleased:
                break;
            case sf::Event::MouseMoved:
                break;
            }
        }
        else
        {
            window.clear( sf::Color::Black );
           
            window.draw( shape );
           
            window.display();
        }
    }
   
    return 0;
}

To jest naprawdę dziwne. Gdy zamknę okno na początku, wszystko jest w porządku... gdy wcisnę CTLR+R (tworzenie kwadratu), po zamknięciu okna wywala błąd...
Proszę o pomoc...
P-136739
notabigthreat
» 2015-08-22 22:35:49
Upewniłeś się, że shape ma cztery punkty?
P-136741
SocrateZ
Temat założony przez niniejszego użytkownika
» 2015-08-22 22:45:20
No tak, w kodzie przed zapisywaniem punktów jest to:
shape.setPointCount( 4 );

Poza tym, wywalało by po wciśnięciu CTLR+R, a nie przy zamykaniu okna...
Może źle się wyraziłem na początku.
Sprostuję teraz:
Wywala błąd dopiero przy zamykaniu okna, tylko i wyłącznie gdy figura (w tym wypadku kwadrat) jest utworzona.
P-136748
Monika90
» 2015-08-22 23:29:19
U mnie nie ma wyjątku, SFML 2.2 i SFML 2.3 + mingw32 i linkowanie statyczne
P-136754
SocrateZ
Temat założony przez niniejszego użytkownika
» 2015-08-22 23:55:43
Dziwne. Na pewno po utworzeniu kwadratu?
SFML 2.3.1, Visual Studio 2010 (cl), bliblioteki DLL
P-136762
« 1 »
  Strona 1 z 1