Я думаю, что мне нужно, чтобы мой родитель-игрок объект стены, когда он сталкивается с прикрепленным 2D-коллайдером. Когда игрок сталкивается со стеной, он становится дочерним элементом этой стены и может перемещаться только вверх и вниз по стене. Когда игрок прыгает или достигает вершины, он больше не является ребенком стены. Но у игрока есть возможность прыгнуть в любую точку стены, на которую он приземлился, и остаться в этой точке.
Сейчас я проработал родительскую часть с помощью следующего кода (этот код прикреплен к плееру):
Код: Выделить всё
void OnCollisionEnter2D(Collision2D collision)
{
if(collision.gameObject.tag == "Wall")
{
this.transform.parent = collision.transform;
Debug.Log("hit a wall");
}
}
Для первой части (отмена родительского контроля), я полагаю, мне понадобится следующий код:
Код: Выделить всё
void OnCollisionExit2D(Collision2D collision)
{
if(collision.gameObject.tag == null)
{
this.transform.parent = null;
Debug.Log("not hitting anythin");
}
}
Я также не знаю, с чего начать другую задачу: заставить игрока прилипнуть к той части стены, с которой он соединяется. Может ли кто-нибудь помочь мне с моими проблемами?
Подробнее здесь: https://stackoverflow.com/questions/223 ... me-objects