[SFML] Problem z użyciem VIew.
Ostatnio zmodyfikowano 2017-02-18 22:07
piter10p Temat założony przez niniejszego użytkownika |
[SFML] Problem z użyciem VIew. » 2017-02-18 19:54:20 Napotkałem następujący, dosyć nielogiczny wg. mnie problem.
Otóż posiadam następujący kod:
Deklaracja:
view = new View(); view->setSize(Vector2f(1080.0f*settings->resolution.x / settings->resolution.y, 1080.0f));
Kawałek kodu renderujący scenę:
view->setCenter(Vector2f(1920.0f / 2.0f, 1080.0f / 2.0f)); window->setView(*view); window->display();
Nigdzie indziej w kodzie nie występuje wykorzystanie tych obiektów.
Zaznaczam że napis "ASD" znajduje się w dolnym, lewym rogu przestrzeni w rozdziałce 1920x1080.
Wszystkie napisy na scenie są środkowane wg. Przestrzeni 1920x1080.
Wszystko pracuje dobrze gdy rozdzielczość okna to 1920x1080 (W tej rozdzielczości jest projektowany świat) i np. 1920x786:
(1920x786) https://zapodaj.net/1cbf9f506ca03.png.html
W przypadku rozdziałek 1280x786 albo 800x600 czy 800x450(Ten sam współczynnik wysokość/szerokość co w przypadku 1920x1080) okno wygląda tak:
(1280x786) https://zapodaj.net/c43a211d00c4b.png.html
(800x450) https://zapodaj.net/f378b6d792adf.png.html
Nie wiem skąd taki błąd. Widać też jak dochodzi do dziwnego skalowania widoku w oknie (skalowania w osi x do którego dochodzić zgodnie z kodem nie powinno). |
|
pekfos |
» 2017-02-18 21:01:50 window->setView( * view ); window->display(); |
Niczego nie rysujesz na tym widoku. |
|
piter10p Temat założony przez niniejszego użytkownika |
» 2017-02-18 22:07:35 Dzięki wielkie, dzięki tobie złapałem głupi błąd. Otóż napisy srodkowalem nie wg. Rozdzielczości 1920x1080 a w rozdzielczości okna. Stąd taki efekt kodu.
Temat do zamknięcia :) |
|
« 1 » |