Skocz do zawartości

Wykrywanie kolizji w ramce


Rekomendowane odpowiedzi

Hej

 

 

 

 

potrzebuje sprawdzić z iloma obiektami mam kolizję w danej ramce o wartościach np. x1=100 y1=100 x2=200 y2=200. Jest komenda collision_rectangle(x1,y1,x2,y2,obj,prec,notme) ale ona sprawdza tylko czy jest dotkniecie z konkretnym obiektem lub wszystkimi i zwraca tylko 1 lub 0. Może jest jakaś komenda która zwraca wartość i iloma obiektami zachodzi kolizja w danym kwadracie.Potrzebuje znać tylko wartość czy dotkniecie nastąpiło z jednym obiektem czy tez z dwoma.Niema znaczenia czy dwa będą o tej samej nazwie obiektu czy tez o innej. Jeżeli dotkniecie jest tylko z jednym obiektem to działa bez problemu ale z dwoma już nie. Zaznaczam ze mam obiekty o tej samej nazwie jak obj_pilka_zolta jak i o innej nazwie obj_pilka_czerwona. Potrzebuje zrobić to do warunku w którym jeżeli dotknie tylko jedna pilka danego kwadratu ( o wyżej wymienionych współrzędnych) to następuje akcja zmiany koloru kwadratu na kolor piłki a jak dotkną dwie piłki tegoż kwadratu to następuje akcja zmiany koloru kwadratu na brązowy.

Odnośnik do komentarza
Udostępnij na innych stronach

Dziekuje za linka. Ciekawe to tylko troszke skomplikowane jak dla mnie. Moze macie cos prostrzego poniewaz ja mam tych kwadratow na planszy kilkanaście rodzaii i potem nie polapal bym sie co jest do czego. Wolalbym to zalatwic jakims krótkim kodem ktory wyrzuca tylko czy dotknięte pole zostalo przez dwa lub wiecej obiektow

Odnośnik do komentarza
Udostępnij na innych stronach

a co zrobić jeżeli mam do zbadania 18 takich kwadratów o różnych współrzędnych ... dla każdego z nich tworzyć nowe ds._list? . problem jest tez ze te kwadraty stoją obok siebie i nie umiem sobie poradzić z tym żeby wykryło jakie piłki przechodzą w danym momencie przez kwadrat. Jeżeli przechodzi jedna jest o.k. Kwadrat zmienia kolor pola ale w momencie gdy lecą dwie to kwadrat przejmuje kolor tylko pierwszej piłki całkowicie ignorując drugą. tak jakby collision_rectangle działała tylko z jednym obiektem gdy już znajduje się w polu kwadratu współrzędnych x y i x2 y2. No i jest jeszcze problem jeżeli leci druga piłka tego samego koloru ( czyli o tej samej nazwie obiektu) także nie wykrywa pojawienie się jej.

Odnośnik do komentarza
Udostępnij na innych stronach

calkiem duzo pytano/problemow na jednej kupie :)

 

podziel a panuj!

powinenes sie koncentrowac na kazdy problem osobno:

1,a co zrobić jeżeli mam do zbadania 18 takich kwadratów o różnych współrzędnych ... dla każdego z nich tworzyć nowe ds._list? .

tak, kazdy region powinenn miec wlasny ds_list, dlatego script zwraca id ds_listu

 

2,problem jest tez ze te kwadraty stoją obok siebie i nie umiem sobie poradzić z tym żeby wykryło jakie piłki przechodzą w danym momencie przez kwadrat.

id kazdej pilki jest w ds_listu, na tobie jest zrobic z niego uzytek

 

3, Jeżeli przechodzi jedna jest o.k. Kwadrat zmienia kolor pola ale w momencie gdy lecą dwie to kwadrat przejmuje kolor tylko pierwszej piłki całkowicie ignorując drugą. tak jakby collision_rectangle działała tylko z jednym obiektem gdy już znajduje się w polu kwadratu współrzędnych x y i x2 y2.

w ds_list masz id wszystkich pilek. naprz. 1xred, 2xblue, 5xgreen jaki bedzie miec kwadrat kolor zalezy na tym jak TY powiesz. jezeli v liczba ma decydowac, to bezdie green. ale tez mozes powiedziec ze decyduje ostatnia pilka ktora wchodzi na kwadrat, mozesz robic mix colorow... lub zupelnie inaczej.

 

4, No i jest jeszcze problem jeżeli leci druga piłka tego samego koloru ( czyli o tej samej nazwie obiektu) także nie wykrywa pojawienie się jej.

script nedetekuje pilke w region, ale powoduje ze kazda pilka sprawdza jesli jest w regionu(sprawdza sama siebie jesli koliduje z regionem) a jesli tak to zapisze swe id do ds_listu w regionu( ja vyzej nazwalem go o_ctrl)

Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...