c# - 当相机与地形碰撞时加载gameOver场景
问题描述
在这里,我为所有标记为 Lost 的地形创建了一个空白
如果玩家与这些地形之一发生碰撞,我想加载 gameOver 场景,所以我写了这段代码,但没有任何反应
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.SceneManagement;
public class collide : MonoBehaviour
{
private LevelManager l;
// Start is called before the first frame update
void Start()
{
//l = GameObject.FindObjectOfType<LevelManager>();
}
// Update is called once per frame
void Update()
{
}
void OnColliderEnter(Collision c)
{
if (c.gameObject.tag == "Lost") {
SceneManager.LoadScene("Lose");
}
}
}
我是 Unity 的初学者,所以请尽量详细地向我解释。
解决方案
我认为您正在寻找OnCollisionEnter()而不是OnColliderEnter()
.
我倾向于一次写信给控制台以隔离一个问题。也许先验证您是否正在捕获碰撞事件,然后再担心场景变化。
void OnCollisionEnter(Collider col)
{
// Apaprently CompareTag is better for performance
if (col.gameObject.CompareTag("DeathTerrain"))
{
Debug.Log($"This is where you die to {col.gameObject.name}");
} else
{
Debug.Log($"Hit a game object named {col.gameObject.name} that didn't have the tag.");
}
}
推荐阅读
- python - 任务未从 Flask 到达 Celery,但仅在从 Flask 应用程序路由调用时
- python - 为什么我在 pip install bert 后无法在 bert 中导入函数
- html - 为什么不能在元素中放置内容?
- javascript - 将两个计算属性合二为一
- android - FCM 服务器对用户的限制以及如何处理
- flutter - 创建示例颤振插件以导入 AndroidX 并获取错误无法解析符号 'XXX'
- jenkins - Jenkins 作业多次触发 git push
- python - 如何计算和显示 Django 应用程序/类中的销售价值?
- amazon-s3 - 从深层 S3 路径层次结构中的 CSV 读取 Dask DataFrame
- api-platform.com - 如何在 API Platform Admin 中隐藏列?