У меня есть пара переменных tilebase, которые устанавливаются с помощью инспектора единства:
public TileBase obstacle; //obstacle tile
public TileBase spikes; //instant death tile
Я использую OnCollisionEnter2D в сценарии, который настроен для актива tilemap.
void OnCollisionEnter2D(Collision2D col)
{
if (col.gameObject.name == "Player")
{
PlayerPrefs.SetInt("Collision", 1);
}
}
Я хочу быть в состоянии определить, когда игрок столкнулся с шипами TileBase, поскольку это должно привести к окончанию игры. Имя актива, которое задается для переменной spikes через инспектор, также называется в палитре Spikes или Spikes (Tile).
Я попытался добавить обнаружение столкновений в сценарий, который используется в активе игрока, чтобы проверить, с какими объектами он сталкивается
void OnCollisionEnter2D(Collision2D col)
{
Debug.Log(col.gameObject.name);
}
Но все, что возвращается, - это название карты тайлов.