Wpis z mikrobloga

Mirki z #gamedev używające #unity3d - uczę się tego pięknego narzędzia, robię na początek #pop4game, żeby ogarnąć coś co wiem jak ma działać.

Chciałem stworzyć proste kolizje, utworzyłem 2 kafelki i plus, plus na starcie zachodzi na jedną z kafelek, żeby od razu sprawdzić czy kolizje działają.
Plus ma BoxCollider2D z IsTrigger = true i Rigidbody2D, kafelka ma te 2 rzeczy też, ale nie ma "isTrigger" zaznaczone (zresztą sprawdzałem wszystkie możliwe kombinacje).
Dla testów w obydwu skryptach (zarówno plusa i kafelki) wrzuciłem Debug.Log("dziala") w metodach "OnTriggerEnter2D(Collider2D collider)", ale nic się nie odpala...

Jakieś pomysły co zepsułem?
  • 7
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@Prophet1111: no powinno być dobrze ale może użyj OnTriggerStay albo OnCollisionStay
Wydaje mi sie że enter działą tylko wtedy kiedy coś wchodzi w kolizje a nie już w niej siedzi
  • Odpowiedz
@Prophet1111: Mozliwe, ze obiekty sa na roznych warstwach, ktore ze soba nie koliduja. Ale jesli nic nie zmieniales z warstwami to powinno byc OK. Albo np. skrypt z metoda OnTriggerEnter2D nie jest na tym samym GameObjectcie co collider? Trudno wywrozyc bez kodu/screenow/projektu.
  • Odpowiedz
@Ajakamr: Dzięki za chęci, @Wextor już mi pomógł. Generalnie stworzyłem obiekty kafelek, które miały kolidować z plusem. Ale do obiektu kafelki sprite'a wrzucałem z poziomu kodu, więc nie ustawił się automatycznie collider takiej wielkości jak powinien być ;) Po zmianie ręcznie na odpowiednie wartości wszystko zadziałało.
  • Odpowiedz