![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 316 Pomógł: 36 Dołączył: 2.04.2008 Ostrzeżenie: (0%) ![]() ![]() |
Czy ma ktoś jakiś pomysł na generyczną metodę wykrywania czy dwa obiekty na canvas się stykają? Jak na razie to do głowy przyszło mi tylko jedno raczej niezadowalające rozwiązanie - sprawdzanie wzdłuż krawędzi, które zawodzi jednak kiedy obiekt nie jest prostokątem - np. ma kształt litery "z". Robię to tak:
Chciałbym uniknąć tworzenia kształtów z kolejnych prostokątów i testowania każdego z tych składowych, czy nie styka się z innym. Każda rada mile widziana (IMG:style_emoticons/default/smile.gif) . Ten post edytował 230005 25.05.2010, 23:26:21 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 316 Pomógł: 36 Dołączył: 2.04.2008 Ostrzeżenie: (0%) ![]() ![]() |
Nie za bardzo rozumiem z tymi wzorami matematycznymi, albo może ty nie do końca mnie zrozumiałeś (IMG:style_emoticons/default/winksmiley.jpg) . W każdym razie postaram się rozjaśnić sprawę. Piszę Tetrisa :]. Potrzebuję wiedzieć kiedy kształt można przesunąć, a kiedy nie, np mam ustawiony jeden prostokąt i aktualnie przesuwam np. kształtem T. Muszę wiedzieć, czy "daszek" litery T nie styka się z już ustawionym prostokątem. Może być też tak, że daszek będzie nad górną krawędzią prostokąta, ale pozostała część kształtu będzie na styku - wtedy figura nie może się przesuwać (w stronę prostokąta). Obecnie robię to w taki sposób, że np. T składam z dwóch prostokątów i sprawdzam czy żaden z nich nie styka się z inną figurą. To rozwiązanie mnie jednak nie zadowala, bo dla każdej figury testowanie kolizji wygląda nieco inaczej, tak samo rotacja.
Ten post edytował 230005 26.05.2010, 12:06:58 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 4.10.2025 - 05:26 |