Wpis z mikrobloga

#gamedev #unity #2d

I kolejny problem, tym razem bez errorów, wszystko niby działa jak powinno - a raczej działało w wersji 3D.
Żeby przeciwnik mógł zjeść bohaterowi życie, musi do niego podejść, wtedy trigger collider który jest na przeciwniku, powinien aktywować boolean i cała funkcja powinna się wykonać, jednak, nie aktywuje :< .
Jak zmieniłem booleana na public i samemu go aktywowałem, to wtedy wszystko działało, samo z siebie nie chce, przewaliłem wszystko co do teraz dopisałem i nie wiem, może collidery inaczej działają w 2d a inaczej w 3d?

Skrócona, wybiórcza wersja:

bool playerInRange;

player = GameObject.FindGameObjectWithTag ("Player");

void OnTriggerEnter (Collider other)
{
if(other.gameObject == player)
{
playerInRange = true;
}
}


void OnTriggerExit (Collider other)
{
if(other.gameObject == player)
{
playerInRange = false;
}
}
  • 7
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@jigsaw96: Dobra, wiemy więcej, bo trzeba użyć OnTriggerEnter2D() i OnTriggerExit2D(), tylko czemu potem nawet nie po uruchomieniu testów wyskoczyły dwa errory:

Script error: OnTriggerEnter2D
This message parameter has to be of type: Collider2D
The message will be ignored.
  • Odpowiedz