Как изменить сцены при столкновении с объектом с определенным тегом

#c# #unity3d

Вопрос:

 using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.SceneManagement;
public class end : MonoBehaviour
{

   void OnCollisionEnter(Collision collision)
{
    if (collision.gameObject.tag == "Player")
    {
        SceneManager.LoadScene("Level2");
    
    }
}
 
}


 

У меня нет ошибок в коде, но он не работает. Есть какие-нибудь предложения? Объект с кодом имеет жесткое тело и коробчатый коллайдер, объект игрока имеет тег игрока, а также имеет жесткое тело и коробчатый коллайдер, сцена называется «Level2» и загружается в настройки сборки, любые предложения будут высоко оценены.

Комментарии:

1. Вы уверены, что ваш код попадает в эту строку?

2. Да, это определенно подходит к этой черте. Или мне нужно поместить ссылку на него в раздел void update (), чтобы убедиться, что он всегда работает?

3. Вы уверены, что тег является игроком без пробелов и т. Д. Та же капитализация. Это не на плеере, не так ли? Если козенис работает, и вы, кажется, уверены. Заставьте его вывести тег, на который он попадает, чтобы вы могли видеть, что происходит. Займитесь базовой отладкой

4. Как вы можете быть уверены, что этот метод вообще вызывается?

Ответ №1:

Во-первых, убедитесь, что функция вызывается в момент визуального столкновения. Прочитайте документы, чтобы проверить, соблюдены ли какие-либо условия столкновения.

Затем избегайте прямой проверки на равенство. Рассмотрите возможность использования gameObject.CompareTag(“Player”) вместо этого, что быстрее и надежнее.

Ответ №2:

во-первых, убедитесь, что ваше столкновение работает, и тег, который вы сравниваете, также правильный.

Кроме того, убедитесь, что вы добавили сцену в настройках сборки, Если нет, перейдите в Файл > Настройки сборки, нажмите «Добавить открытую сцену» или перетащите все сцены в «Сцены в сборке».

для получения дополнительной информации см. Документы: https://docs.unity3d.com/Manual/BuildSettings.html

Комментарии:

1. используйте этот скрипт для лучшего подхода

2. github.com/Zain-ul-din/Car-Parking-Game-Code/blob/main/Scripts/…