首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Unity3D -与对象发生冲突时不显示GUIText

Unity3D -与对象发生冲突时不显示GUIText
EN

Stack Overflow用户
提问于 2013-10-12 04:02:37
回答 2查看 910关注 0票数 0

我一直在关注this的在线文章,并交换了一些名字和标签,但我似乎没有看到屏幕上出现任何文本……

下面是我的PlayerCollision脚本:

代码语言:javascript
复制
#pragma strict

function Update () {

}

function OnControllerColliderHit(hit : ControllerColliderHit){
    if(hit.gameObject.tag == "Collider"){
        ShowMessage.message = "HELLO WORLD";
        ShowMessage.turnTextOn = true;
    }
}

这是我的ShowMessage脚本:

代码语言:javascript
复制
#pragma strict

static var turnTextOn : boolean = false;
static var message : String;
private var timer : float = 0.0;

function Start(){
    timer = 0.0;
    turnTextOn = false;
    guiText.text = "";
}

function Update () {
    if(turnTextOn){
        guiText.enabled = true;
        guiText.text = message;
        timer += Time.deltaTime;
    }
    if(timer >= 5){
        turnTextOn = false;
        guiText.enabled = false;
        timer = 0.0;
    }
}

我已经将ShowMessage脚本链接到我的GUIText对象,并将PlayerCollision脚本与CharacterController链接起来。还有一个带有Collision标签的盒子对撞器对象,我在视图中也有GUIText,只是为了排除这一点。

有人知道哪里出问题了吗?谢谢

EN

回答 2

Stack Overflow用户

发布于 2013-10-12 04:34:41

标记应该是"Collider"而不是"Collision",因为if(hit.gameObject.tag == "Collider")

票数 0
EN

Stack Overflow用户

发布于 2013-10-12 05:42:58

问题解决了。事实证明,我勾选了isTrigger,这阻止了冲突被检测到。这就产生了角色不能在对象中移动的问题。我所做的是勾选isTrigger选项并将OnControllerColliderHit(hit : ControllerColliderHit)更改为OnTriggerEnter (obj : Collider)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19326319

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档