Unity 3D, как заставить происходить разные вещи для триггеров/столкновений с разными объектами? С#C#

Место общения программистов C#
Ответить
Anonymous
 Unity 3D, как заставить происходить разные вещи для триггеров/столкновений с разными объектами? С#

Сообщение Anonymous »

У меня есть код того, что происходит, когда враг сталкивается с игроком, используя твердое тело на игроке и нажимая триггер is на коллайдере в инспекторе. Когда игрок попадает во врага, количество жизней уменьшается. Теперь у меня есть пустой игровой объект (дорожка), который имеет твердое тело и отмечен триггером на коробчатом коллайдере, к которому движется один враг. Как только враг доберется до триггера, он должен вернуться к другому пустому игровому объекту (backTrack), чтобы создать впечатление, что он снова возвращается. В любой момент, если игрок ударяет врага, количество жизней уменьшается на 1, и враг возрождается в начальной позиции. Моя проблема в том, что я не могу заставить его различать столкновение с игроком и отслеживание, потому что в ту минуту, когда враг попадает в трек, он делает то, что следует делать, если игрок ударил врага, и враг возрождается в начальной позиции. Вот мой код:

private bool triggered = false;
public GameObject track1;
void moveBackTrack(){
float move1 = moveSpeed * Time.deltaTime;
transform.position = Vector3.MoveTowards (transform.position, backTrack.position, move1);
}
void OnTriggerEnter(Collider col)
{
if (!triggered)
{
triggered = true;
if (col.gameObject = track1) {
moveBackTrack ();
} else {
Destroy (gameObject);
print ("Collision Enter: " + col.name);
GameManager.Instance.lives -= 1;
GameManager.Instance.setLivesText ();
GameManager.Instance.SpawnTrackEnemy ();
}
}
}


Подробнее здесь: https://stackoverflow.com/questions/362 ... ith-differ
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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