[SFML 2.0] - Rysowanie kwadratu
Ostatnio zmodyfikowano 2012-07-03 18:33
michalo Temat założony przez niniejszego użytkownika |
[SFML 2.0] - Rysowanie kwadratu » 2012-07-03 17:47:59 Witam. Jestem tutaj nowy, przerobilem Kurs c++ oraz Kurs SFML. Moj problem polega na tym, ze gdy w SFML 2.0 probuje narysowac 10 kwadratow (oto kod:) for( int i = 0; i < 10; i++ ) { trawa[ i ].setPointCount( 4 ); trawa[ i ].setPoint( 1, Vector2f( 0, 0 ) ); trawa[ i ].setPoint( 2, Vector2f( 0, 50 ) ); trawa[ i ].setPoint( 3, Vector2f( 50, 50 ) ); trawa[ i ].setPoint( 4, Vector2f( 50, 0 ) ); trawa[ i ].setFillColor( Color::Green ); trawa[ i ].setOutlineColor( Color::Green ); trawa[ i ].setPosition( i * 70, 600 ); } a nastepnie je wyswietlic: for( int i = 0; i < 10; i++ ) { okno.draw( trawa[ i ] ); } to zamiast 10 kwadratow wyswietla mi sie 10 trojkatow i po zamknieciu aplikacji wywala blad krytyczny. Po zmianie na trawa[ i ].setPointCount( 3 ); i zakomentowaniu linijki trawa[ i ].setPoint( 4, Vector2f( 50, 0 ) ); bledu krytycznego nie ma. Wie ktos moze, dlaczego? Dzieki za odpowiedzi. PS. Wybaczcie polskich liter, ale pisze z klawiatury niemieckiej. |
|
DejaVu |
» 2012-07-03 17:52:12 Błąd krytyczny nie jest raczej związany z Twoim problemem. Co do rysowania kwadratu to generalnie rzecz biorąc wszystko rysuje się trójkątami. Zapoznaj się dobrze z dokumentacją klasy której używasz do rysowania figur - tam zapewne będą informacje w jaki sposób są rysowane obiekty na scenie przy pomocy tej klasy.
/edit:
http://www.sfml-dev.org/documentation/2.0/classsf_1_1ConvexShape.php#details
/edit:
W sumie to jakoś biednie w googlach na temat rysowania prostokąta za pomocą tej klasy :) |
|
michalo Temat założony przez niniejszego użytkownika |
» 2012-07-03 17:57:29 Dokumentację czytałem, lecz tam nie było nic o rysowaniu kwadratów. Czyli żeby narysować kwadrat, muszę narysować dwa przylegające trójkąty, tak? Nie da się inaczej? |
|
DejaVu |
» 2012-07-03 17:58:08 |
|
michalo Temat założony przez niniejszego użytkownika |
» 2012-07-03 18:33:35 Dobra, dzieki DejaVu, problem rozwiazany, pomogla klasa RectangleShape ;) |
|
« 1 » |