我一直在网上关注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,只是为了排除它。
任何人都知道出了什么问题?感谢
答案 0 :(得分:0)
标记应为"Collider"
而不是"Collision"
,因为if(hit.gameObject.tag == "Collider")
答案 1 :(得分:0)
问题解决了。事实证明我勾选了isTrigger
来阻止碰撞被发现。这给出了角色无法穿过物体的问题。我所做的是勾选isTrigger
选项并将OnControllerColliderHit(hit : ControllerColliderHit)
更改为OnTriggerEnter (obj : Collider)