c# - 我的传送脚本导致我的玩家随机传送回集线器
问题描述
我有一个 OnTriggerEnter 对撞机,当玩家进入对撞机时,它会将他们传送回另一个 OnTriggerEnter 对撞机的“集线器”。
问题是玩家会一直走,并且会随机传送回中心。
这是 OnTriggerEnter 对撞机上的脚本。
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Teleport : MonoBehaviour
{
public Transform teleportTarget;
public Rigidbody player;
private void OnTriggerEnter(Collider other)
{
player.transform.position = teleportTarget.position;
}
}
解决方案
我刚刚做到了,所以进入触发器的对撞机必须被标记为“玩家”并修复它。
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Teleport : MonoBehaviour
{
public Transform teleportTarget;
public Rigidbody player;
private void OnTriggerEnter(Collider other)
{
if (other.gameObject.tag == "Player")
{
player.transform.position = teleportTarget.position;
}
}
}
推荐阅读
- c# - 模拟不起作用 - 在 IIS 中托管 Windows 身份验证的 Asp.Net 核心 3.1 应用程序
- swift - UIImageview 没有出现在 UIImageview.center 指定的位置
- snowflake-cloud-data-platform - 使用正斜杠执行 PUT 时雪花 dll 出错
- javascript - 检查另一个数组中的任何数组是否包含另一个数组中的值
- firebase - 将数据从 curl 发布到 Firestore 时出现问题 throw curl
- android - 不能“使用默认 Gradle 包装器”
- security - POD 安全策略评估顺序(多个角色)
- c++ - 如何在 WM_DRAWITEM 中绘制多列 ListView
- mongodb - 我可以使用 findByIdAndUpdate 来增加数组中一个对象的值(猫鼬)吗?
- linux - `file`,为什么可执行文件不报告为可执行文件?