unity3d - 如何在 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
解决方案
请注意,有
OnTriggerEnter2D(Collider2D)
其中作为参数需要 aCollider2D
,而不是Collider
。这是用于使用Rigidbody2D
和Collider2D
组件的 2D 物理。OnTriggerEnter(Collider)
这需要一个Collider
, **notCollider2D
。这是一个使用Rigidbody
和Collider
组件的 3D 物理。
既然你在谈论 2D 你的方法应该看起来像
void OnTriggerEnter2D(Collider2D other)
{
if (other.CompareTag("Player"))
{
SceneManager.LoadScene(WhatScene);
}
}
推荐阅读
- javascript - 添加活动类的滑块
- .net-core - 无法在 Ubuntu 上运行的 Rider 2019.3 中从私有源恢复 nuget 包
- kubernetes - traefik kubernetes crd 健康检查
- java - Android 服务在启动/恢复时短暂为空
- java - 用于命令行代码覆盖率计算的 Java 库?
- reactjs - .map 函数内的子组件显示所有子实例
- dockerfile - 为什么docker容器会自行退出
- php - 从 PHP 中的格式化纯文本中提取数据
- ios - 处理具有相同签名但不同参数的多个函数的最有效方法
- python - PyCharm 无法从 Docker 容器打开文件:没有这样的文件或目录