- Home /
Question by
EvilMonkeyPaw · Dec 17, 2013 at 11:02 PM ·
rotationerrortransformgui-text
My GUItext does not display when an object is rotated, and ideas?
I'm making a space shooter as a personal project, my problem is this, I have a script that displays a GUIText over the object at a certain distance, but as soon as that object is rotated in any way, the GUIText no longer appears, I'm not sure why this happens, any ideas?
Here's my code, I'm not sure what I'm doing wrong or not understanding.
#pragma strict
var player : GameObject;
var navBeacon : GUITexture;
var label : GUIText;
var viewDistance : float = 1000;
var target2dCoord : Vector2;
var appearOnClosing : boolean = false;
function Start () {
player = GameObject.FindGameObjectWithTag("Player");
navBeacon.guiTexture.enabled = false;
label.guiText.enabled = false;
}
function Update () {
var currPos = transform.position;
var targetDirection : Vector3 = transform.position - player.transform.position;
var angleToTarget : float = Vector3.Angle(player.transform.forward, targetDirection);
var distanceToTarget : float = Vector3.Distance(player.transform.position, transform.position);
label.guiText.text = gameObject.name + "-Dist: " + distanceToTarget + "U";
if(angleToTarget < 80){
if(appearOnClosing == false && distanceToTarget > viewDistance){
navBeacon.guiTexture.enabled = true;
label.enabled = true;
target2dCoord = Camera.main.WorldToViewportPoint(currPos);
navBeacon.transform.position = target2dCoord;
}
else if(appearOnClosing == true && distanceToTarget < viewDistance){
navBeacon.guiTexture.enabled = true;
label.guiText.guiText.enabled = true;
target2dCoord = Camera.main.WorldToViewportPoint(currPos);
navBeacon.transform.position = target2dCoord;
}
else{
navBeacon.guiTexture.enabled = false;
label.guiText.enabled = false;
}
}
}
Comment