Nachodzenie się obiektów w obrazkach

0

Mam pytanie
Mam dwa obrazki. Załóżmy że obrazki mają rozmiar 100x100. w każdym z tych obrazków na środku znajduję sie koło 20x20. Reszta obrazka jest transparentna. Jeden z obrazków mogę przesuwać za pomocą myszki. Jak wywołać zdarzenie w momencie gdy nie obrazki nachodzą na siebie a jedynie obiekty w nich umieszczone.
Pozdrawiam

0

wyliczyc.
najprosciej jak sie da: wyliczasz odleglosc pomiedzy srodkami kół. jesli ta odleglosc jest <= sumie promieni kół to kola sie dotykaja/nachodza.

0

Masz rację ale jeżeli zamiast koła byłby obiekt taki jak np X w jednym obrazku a I w drugim to nici z tego. Chodzi mi po prostu o to w jaki sposób wywołać zdarzenie jeżeli obiekty w obrazkach się nachodzą

pozdrawiam

0

Naprzód się sprawdza czy jest nakładanie prostokątów opisanych na tych obrazkach a jeśli jest, to w prosty sposób można narysować te obrazki w takim samym położeniu na jakiejś testowej powierzchni o jednolitym tle i jeśli przy tym rysowaniu da się odpowiednie ustawienie Canvas.CopyMode to jeśli będzie kolizja pikseli, to punkty przecięcia zmienią kolor, więc wystarczy przelecieć punkty tego kwadratu, żeby to wykryć. W DirectX są gotowe sposoby do wykrywania tego i nie trzeba tych procedur samemu pisać. Jeśli obiekty są kolorowe, to pewnie trzeba zrobić ich kopie o jednolitym kolorze, których użyjemy do powyższego sposobu wykrywania kolizji.
Takie wykrywanie kolizji stosuje się powszechnie w grach 2D.

0

Wiesz nakładanie prostokątów o żaden problem, ale nakładanie obiektów wpisanych to całkiem inny problem. Z nakładaniem prostokątów to bez problemu sobie poradzę ale z obiektami jest już problem.

Pozdrawiam

0

No więc napisałem jak się wykrywa kolizję pikseli, czyli nieregularnych obiektów. CopyMode chyba się ustawia na jakiś xor i wtedy to dobrze wychodzi gdy obiekty się nakładają.

0

Dzięki za pomoc w takim razie spróbuję zrobić tak jak piszesz

Pozdrawiam

1 użytkowników online, w tym zalogowanych: 0, gości: 1