首页 > 解决方案 > 如何在 collison 上切换 Unity 2D 中的场景

问题描述

我想知道如何在我的 2D Unity 游戏中切换场景。我把场景放在构建中,物体进入 colison。我使用了这段代码,但没有奏效:

using UnityEngine;
using UnityEngine.SceneManagement;

public class SceneSwitch : MonoBehaviour
{
    [SerializeField] private string WhatScene;

    void OnTriggerEnter(Collider2D other)
    {
        if (other.CompareTag("Player"))
        {
            SceneManager.LoadScene(WhatScene);
        }
    }
}

你能帮助我吗?

https://i.stack.imgur.com/rpg3t.png

https://i.stack.imgur.com/HoOfl.png

https://i.stack.imgur.com/9GEgi.png

标签: unity3dgame-development

解决方案


请注意,有

  • OnTriggerEnter2D(Collider2D)其中作为参数需要 a Collider2D而不是Collider。这是用于使用Rigidbody2DCollider2D组件的 2D 物理。

  • OnTriggerEnter(Collider)这需要一个Collider, **not Collider2D。这是一个使用RigidbodyCollider组件的 3D 物理。

既然你在谈论 2D 你的方法应该看起来像

void OnTriggerEnter2D(Collider2D other)
{
    if (other.CompareTag("Player"))
    {
        SceneManager.LoadScene(WhatScene);
    }
}

推荐阅读