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

SFML Bounding box dla prostokąta

VPS Starter Arubacloud
0 głosów
250 wizyt
pytanie zadane 2 kwietnia 2017 w C i C++ przez 10kw10 Pasjonat (22,880 p.)
W jaki sposob moge napisac Bounding boxa dla prostokata, ktory sie obraca i porusza i dla prostokata ktory jest w stalym miejscu w stalej rotacji ? Zalezy mi na precyzji.

1 odpowiedź

0 głosów
odpowiedź 2 kwietnia 2017 przez mokrowski Mędrzec (156,260 p.)
wybrane 3 kwietnia 2017 przez 10kw10
 
Najlepsza

Rect (a pewnie tal robisz BoundingBox'a), nie przetrzymuje rotacji. Jego .intersect(...) nie zadziała po rotacji np. Transform. Co możesz zrobić:

  1. Sprite.getGlobalBounds().intersects(...) jeśli wystarczy Ci kolizja z obróconym Sprite.
  2. Pixel perfect colision
  3. Matematyczne metody np. przez odziedziczenie z Rect'a i przeciążenie metody intersect. 
komentarz 2 kwietnia 2017 przez 10kw10 Pasjonat (22,880 p.)
Chodzi o to ze mam prostokat (5,20) i jest obrocony o np. 45 stopni.

Robie właśnie ta pierwsza metoda ale jest to strasznie nie dokladne.

Sprite.Getglobal.. uwzglednia rotacje? Tzn ze box bedzie na ukos?

Moglbys jakos rozwinac 2 ost metody?
komentarz 2 kwietnia 2017 przez mokrowski Mędrzec (156,260 p.)

Pixel perfect colision.. tu masz ideę. Technika bardzo negatywnie wpływająca na wydajność:https://www.youtube.com/watch?v=ffqvXKhrMHU

Get the global bounding rectangle of the entity.

The returned rectangle is in global coordinates, which means that it takes in account the transformations (translation, rotation, scale, ...) that are applied to the entity. In other words, this function returns the bounds of the sprite in the global 2D world's coordinate system.

https://www.sfml-dev.org/documentation/2.0/classsf_1_1Sprite.php

Matematyczne wykrywanie kolizji dla "polygonów": 

https://www.codeproject.com/articles/15573/2d-polygon-collision-detection

Podobne pytania

0 głosów
2 odpowiedzi 324 wizyt
pytanie zadane 18 kwietnia 2016 w C i C++ przez DualOxygen Użytkownik (810 p.)
0 głosów
2 odpowiedzi 636 wizyt
pytanie zadane 13 maja 2015 w C i C++ przez figorin Bywalec (2,040 p.)
0 głosów
1 odpowiedź 449 wizyt
pytanie zadane 4 listopada 2016 w C i C++ przez Emil Panecki Bywalec (2,100 p.)

93,020 zapytań

141,985 odpowiedzi

321,284 komentarzy

62,366 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!

...