您好,我的问题是在Unity中,我是c#的初学者,我的gameObject不会触发在游戏平面上设置的对撞机,以便重置它的位置。
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class BasketballSpawnScript : MonoBehaviour
{
public Transform respawnPoint;
void OnTriggerEnter(Collider other)
{
if (other.gameObject.CompareTag("Basketball"))
{
other.gameObject.transform.position = respawnPoint.position;
}
}
}
此脚本附加到飞机上,游戏对象带有Basketball标签,当它进入地板的对撞机时,应将其位置转换为原始位置。
我看不到出什么问题了,我可以得到一些帮助吗?
P.S当其他游戏对象也通过对撞机时,也会出现此错误。
NullReferenceException:对象引用未设置为对象的实例
答案 0 :(得分:0)
如果使用“变形”作为生成点,请记住在检查器菜单中设置其值。
public Transform respawnPoint;
void OnTriggerEnter(Collider other)
{
if (other.CompareTag("Basketball"))
other.transform.position = respawnPoint.position;
}
其他
public Vector3 respawnPoint = Vector3.zero;
void OnTriggerEnter(Collider other)
{
if (other.CompareTag("Basketball"))
other.transform.position = respawnPoint;
}
答案 1 :(得分:0)
private void OnTriggerEnter(Collider other){
if(other.gameobject.tag=="Basketball"){
other.gameobject.transform.position = respawnPoint;
}
}
希望对您有帮助。