Unity3d触发器事件操作,用于在另一个对象通过触发器后更改画布中的文本

本文关键字:触发器 布中 文本 一个对象 操作 事件 用于 Unity3d | 更新日期: 2023-09-27 18:00:40

我在unity 中的脚本遇到问题

尝试过这样的东西,但不起作用

public Collider a;
public Text text;
void update(){
 if(a.collision.tag == "object")
   text.text = "Trigger works";
}

然后将游戏元素附加到编辑器中的公共变量中。

Unity3d触发器事件操作,用于在另一个对象通过触发器后更改画布中的文本

第一个update不是MonoBehavior函数。它是Update

其次,你应该看这个。

您需要将Collider添加到GameObject中,然后将对撞机Is Trigger字段设置为true。

之后,您需要将OnTriggerEnter和/或OnTriggerExit和/或On TriggerStay添加到脚本中。

例如:

//public Collider a;   
public Text text;
void Update(){
   //dont need to use Update.
}
void OnTriggerEnter(Collider other) {
    if(other.gameObject.tag == "object"){
        //set text whatever you want.
    }
}

触发器仅从OnTriggerEnterOnTriggerStayOnTriggerExit方法触发

void OnTriggerEnter(Collider col){
 if(col.tag == "object")
   text.text = "Trigger works";
}