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

SFML - kolizja sf::View z sf::RenderWindow?

VPS Starter Arubacloud
0 głosów
169 wizyt
pytanie zadane 3 stycznia 2018 w C i C++ przez szym3ns Użytkownik (860 p.)

Cześć, tak jak w tytule, chciałbym aby mój widok (którego środek jest ustawiony na graczu) przestał się poruszać w momencie kiedy ów widok dotknie krawędzi grywalnej areny (gracz nadal może się poruszać dopóki nie będzie próbował wyjść poza granice areny). No i nie wiem jak się za to zabrać.. wydukałem tyle:

if (((windowSize.x > mainScene.getSize().x) || (windowSize.y > mainScene.getSize().y)))
        mainScene.setCenter(player.getPos().x, player.getPos().y);

tylko, że getSize() zwraca zawsze stałą wielkość, a nie aktualną pozycje widoku..

Stworzyłem też sobie pomocniczą zmienną playableArea(1400,800), ale też nie mam pomysłu jaki warunek napisać.

Wielkość okna wynosi 1600x900.

Wielkość widoku to:

sceneSize = sf::FloatRect(windowSize.x / 2, windowSize.y / 2, 1280, 800);

 

Z góry dziękuje za pomoc.

1
komentarz 3 stycznia 2018 przez 10kw10 Pasjonat (22,880 p.)
pokombinuj coś z getSize() i getCenter() ;)

Zaloguj lub zarejestruj się, aby odpowiedzieć na to pytanie.

Podobne pytania

0 głosów
0 odpowiedzi 109 wizyt
0 głosów
1 odpowiedź 269 wizyt
0 głosów
3 odpowiedzi 416 wizyt
pytanie zadane 29 sierpnia 2016 w C i C++ przez sprytny22 Obywatel (1,130 p.)

92,975 zapytań

141,939 odpowiedzi

321,182 komentarzy

62,302 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.

Wprowadzenie do ITsec, tom 2

Można już zamawiać tom 2 książki "Wprowadzenie do bezpieczeństwa IT" - będzie to około 650 stron wiedzy o ITsec (17 rozdziałów, 14 autorów, kolorowy druk).

Planowana premiera: 30.09.2024, zaś planowana wysyłka nastąpi w drugim tygodniu października 2024.

Warto preorderować, tym bardziej, iż mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy dodatkowe 15% zniżki! Dziękujemy zaprzyjaźnionej ekipie Sekuraka za kod dla naszej Społeczności!

...