[Ogólne] Zdarzenie w przypadku braku kolizji z konkretnym ob |
Autor |
Wiadomość |
Wilkeł
Plutonowy
Główny edytor:
Drugi edytor:
Pojedynki: nie
Pomógł: 3 razy Posty: 74
3779 Prestiż
|
Wysłany: 11-07-2018, 17:01 [Ogólne] Zdarzenie w przypadku braku kolizji z konkretnym ob
|
|
|
Czy da się w cf zrobić zdarzenie będące odwrotnością zdarzenia typu: "jeżeli obiekt A koliduje z obiektem B, a obiekt B ma zmienną A równą 0, to dzieje się coś tam".
Chodzi mi konkretnie o zdarzenie "jeżeli obiekt A nie koliduje z tym obiektem B, który ma zmienną A równą 0, to dzieje się coś tam".
Czyli po prostu jeżeli obiekt A nie koliduje z konkretnym obiektem B (np. wyróżniającym się jakąś zmienną), to coś tam.
Od razu mówię, że to nie jest takie proste, jak po prostu zanegowanie kolizji (overlappingu).
Tutaj może obrazkowe ukazanie problemu:
Zdarzenie, którego odwrotność chcę otrzymać:
Zdarzenie, które nie działa tak, jak chciałbym, by działało:
Dodam, że nie działa zamiana warunków zajścia eventów miejscami oraz dodanie loopu "for each". Program wykrywa to po prostu jako "jeżeli obiekt A nie koliduje z żadnym z obiektów B i jakikolwiek obiekt B ma zmienną A równą 0, to coś tam".
Pomóżcie, proszę xd |
|
|
|
|
wisnia_pc
Sierżant
Główny edytor:
Pojedynki: nie
Pomógł: 5 razy Posty: 128
2356 Prestiż
|
Wysłany: 11-07-2018, 20:15
|
|
|
Przecież to banał przykład
mam nadzieje że o to chodziło |
_________________ Prawdopodobnie najbardziej zaawansowany RTS jaki powstaje w klikach.
|
|
|
|
|
Wilkeł
Plutonowy
Główny edytor:
Drugi edytor:
Pojedynki: nie
Pomógł: 3 razy Posty: 74
3779 Prestiż
|
Wysłany: 11-07-2018, 20:48
|
|
|
Wiem, że tego nie zawarłem bezpośrednio w poście, ale chodziło mi o to, żeby było zarówno zdarzenie o braku kolizji, jak i o jej występowaniu oraz o moment, w którym zarówno obiektów A, obiektów B spełniających warunek (zmienna=0) oraz obiektów B niespełniających warunku jest więcej, niż po jednym.
Czyli np. obiekt A może dotykać jednego obiektu B o zmiennej równej 0 i dwóch o zmiennej równej 1. Wtedy coś tam się z tym obiektem A dzieje (np. zmienia swoją zmienną A na 1). W następnej jednak sekundzie obiekt przestaje dotykać obiektu B o zmiennej równej 0 i wtedy skutek poprzedniego zdarzenia się usuwa (np. zmienna A powraca do 0).
W tej sytuacji twój przykład działa dokładnie tak samo, jak ten z mojego drugiego obrazka, tylko ma dodane 'Pick one of' i w sumie nie wiem, co ono zmienia.
Czyli nadal potrzebuję pomocy |
|
|
|
|
jarlfenrir
Generał brygady
Główny edytor:
Drugi edytor:
Pomógł: 82 razy Posty: 1731
37283 Prestiż
|
Wysłany: 11-07-2018, 21:12
|
|
|
Kiedyś kombinowałem z czymś podobnym.
Może spróbuj tak:
zawsze ustaw flagę 1 na off (dla obiektu A)
A koliduje z B plus B ma wartość równą 666 -> ustaw flagę 1 na on
I kolejne zdarzenie:
Jeśli obiekt A ma flagę 1 na off, to coś tam. |
|
|
|
|
wisnia_pc
Sierżant
Główny edytor:
Pojedynki: nie
Pomógł: 5 razy Posty: 128
2356 Prestiż
|
Wysłany: 11-07-2018, 21:12
|
|
|
Zaraz Ci to zakoduje tylko rozgryzę co masz na myśli
Przykład 2
Teraz działa gdy obiekt A dotyka obiektu B lub wielu obiektów B to zmieniają kolor obiekty B dotknięte. Zastosowałem pętle i flagę. Kolejność zdarzeń jest ważna tu. |
_________________ Prawdopodobnie najbardziej zaawansowany RTS jaki powstaje w klikach.
|
Ostatnio zmieniony przez wisnia_pc 11-07-2018, 21:36, w całości zmieniany 1 raz |
|
|
|
|
Wilkeł
Plutonowy
Główny edytor:
Drugi edytor:
Pojedynki: nie
Pomógł: 3 razy Posty: 74
3779 Prestiż
|
Wysłany: 11-07-2018, 21:29
|
|
|
jarlfenrir, to było zarówno najprostsze jak i najbardziej idiotyczne rozwiązanie, o jakim myślałem, dlatego go nie wypróbowałem. Dzięki, sprawa rozwiązana XD
Tak teraz patrzę na to, i zrobiłeś w sumie to samo, co zaproponował kolega wyżej, tylko nie dodałeś wzmianki o konkretnych obiektach B. Ale i tak dzięki za starania. |
|
|
|
|
|