0

我一直在网上关注这篇文章,并交换了一些名称和标签,但我似乎没有看到屏幕上出现任何文字......

这是我的PlayerCollision脚本:

#pragma strict

function Update () {

}

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

这是我的ShowMessage脚本:

#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 在视图中只是为了排除这种情况。

有人知道出了什么问题吗?谢谢

4

2 回答 2

0

问题解决了。原来我勾选了isTrigger它阻止了检测到碰撞。这给出了角色无法穿过对象的问题。我所做的是勾选isTrigger选项并更改OnControllerColliderHit(hit : ControllerColliderHit)OnTriggerEnter (obj : Collider)

于 2013-10-11T21:42:57.600 回答
0

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

于 2013-10-11T20:34:40.990 回答