• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Fullscreen w SFML

Object Storage Arubacloud
0 głosów
849 wizyt
pytanie zadane 15 stycznia 2017 w C i C++ przez Alvancaran Dyskutant (8,160 p.)
Robię grę w SFML i nie wiem czy gdy tworząc okno i ustawiając sf::Style::Fullscreen gdy ktos będzie miał mniejszą/większa rozdzielczośc od mojej to czy np sprite'y będą się skalowac czy będą miały te same wymiary. Jeżeli nie skalowałyby się to czy przy np. większej rozdzielczości gra się nie zepsuje tzn. czy widok będzie wyglądał tak samo jak na moim komputerze czy inaczej?

2 odpowiedzi

+1 głos
odpowiedź 15 stycznia 2017 przez Pajdas Mądrala (5,930 p.)
Możesz użyć funkcji getSize(), która pobierze wielkość okna.
Programując program który będzie to ładnie skalować, musisz pamiętać, że ustawienie tekstu zawierającego np. liczbę xp, czy pieniędzy w grze, nie możesz określać za pomocą liczby z góry ustalonej np. 850, ale np. window.getSize().x-150
0 głosów
odpowiedź 15 stycznia 2017 przez niezalogowany
Zdaje się że SFML będzie próbował je skalować
komentarz 15 stycznia 2017 przez Alvancaran Dyskutant (8,160 p.)
W takim razie jakie najlepiej wymiary wybrac. Niestety moj monitor ma tylko 1280x800
komentarz 15 stycznia 2017 przez niezalogowany
Jeżeli chodzi o skalowanie to jednak lepiej jest samemu się tym zająć, bo jak wspomniałem SFML próbuje się tym zająć
komentarz 15 stycznia 2017 przez Alvancaran Dyskutant (8,160 p.)
Czyli np zrobic takie same obrazki o innych wymiarach i każdy dla innej rozdzielczości?
komentarz 15 stycznia 2017 przez JAKUBW Nałogowiec (33,470 p.)
Lepiej nie, bo to zajmie dużo miejsca. Lepiej samemu robić skalowanie. W takim sensie, że na przykład przycisk ,,graj" zawsze będzie miał 200px niezależnie od ekranu, a wokół po prostu będzie więcej lub mniej wolnej przestrzeni. I zawsze będzie na środku ekranu. Oczywiście to niesie ze sobą ograniczenia, więc ustawiasz minimalną szerokość okna na załóżmy 1200px i git. A jak coś się nie mieści to zrób sobie klasę ScrollBox, z suwakiem i w niej trzymaj komponenty. Ale to zależy od gry jaką robisz.
komentarz 15 stycznia 2017 przez Pajdas Mądrala (5,930 p.)
A kiedy np. monitor gracza będzie 4k a monitor programisty 1080p to zostanie to przeskalowane, czy będzie to wszystko takie małe.

A jeżeli ktoś chciałby zająć się skalowaniem samodzielnie to jak ma to zrobić, setScale(2,2); :)
komentarz 15 stycznia 2017 przez Alvancaran Dyskutant (8,160 p.)
W sumie robię tą grą tylko dla siebie więc po prostu użyje fullscreen i nie będę bawił się w skalowanie.
komentarz 15 stycznia 2017 przez JAKUBW Nałogowiec (33,470 p.)
Taa, tylko skalowanie bierze GPU. Pamiętaj o tym.
komentarz 15 stycznia 2017 przez Pajdas Mądrala (5,930 p.)
To jakie jest w miarę optymalne rozwiązanie?
komentarz 15 stycznia 2017 przez JAKUBW Nałogowiec (33,470 p.)
Zależy jaka gra, ale łatwiej jest olać wydajność i skalować. I zazwyczaj najlepiej.

Podobne pytania

0 głosów
0 odpowiedzi 138 wizyt
pytanie zadane 11 lipca 2020 w C i C++ przez HitMan Użytkownik (850 p.)
+1 głos
0 odpowiedzi 131 wizyt
+1 głos
1 odpowiedź 469 wizyt
pytanie zadane 1 lipca 2018 w C i C++ przez skankhunt42 Obywatel (1,170 p.)

92,755 zapytań

141,676 odpowiedzi

320,412 komentarzy

62,100 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...