2D столкновение и остановка в Unity 3D ⇐ C#

Место общения программистов C#
Anonymous
2D столкновение и остановка в Unity 3D

Сообщение Anonymous »

У меня есть простая сцена в 2D. Правая желтая коробка - это «игрок», а зеленая и коричневая вещь - это «препятствие».

У игрока есть Bodecollider2d , жесткий Code2d и сценарий C# с именем hero.cs прикреплен к нему. BoxCollider2d включен Trigger ; Rigidbody2d включен Kinematics ; Другие настройки остаются в значениях по умолчанию. < /p>

препятствие имеет только Boxcollider2d < /code> с IS -триггером < /code> включен.using UnityEngine;
using System.Collections;

public class Hero : MonoBehaviour {
public float moveSpeed = 0.1f;
private Vector3 moveDirection;

// Use this for initialization
void Start () {

}

// Update is called once per frame
void Update () {
Vector3 currentPos = transform.position;
if(Input.GetKey("left")) {
transform.Translate(new Vector3(-1, 0, 0));
} else if(Input.GetKey("right")) {
transform.Translate(new Vector3(1, 0, 0));
}
}

void OnCollisionEnter2D(Collision2D collision) {
Debug.Log("Colliding");
}

void OnTriggerEnter2D(Collider2D other) {
Debug.Log("Triggering");

}
}
< /code>

Только «запуск» появляется в журнале консоли. < /p>

Мой вопрос: < /strong> Что я должен добавить, чтобы сделать «игрок» недоступным для «Опугарования» (использование un not to aky)? />

Обновление: после того, как я установил масштаб гравитации < /code> на 0 < /strong>, обнаружение столкновений работает, но странным образом. «Игрок» идут боковым путем во время столкновения. Посмотрите это видео на YouTube для действия. Что я пропустил?>

Подробнее здесь: https://stackoverflow.com/questions/241 ... n-unity-3d

Вернуться в «C#»