【发布时间】:2013-10-20 00:23:55
【问题描述】:
我一直在网上关注this的文章并交换了一些名称和标签,但我似乎没有看到屏幕上出现任何文字...
这是我的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,只是为了排除这种情况。
有人知道什么是错的吗?谢谢
【问题讨论】:
-
在 OnControllerColliderHit 的 if 语句中放置一个 print("hit");看看它是否真的被触发了
-
您是否将与您碰撞的对象标记为“Collider”?
-
您还必须在标记对象上添加
Box Collider
标签: user-interface text unity3d character unityscript