- Home /
This question was
closed Jun 10, 2013 at 09:35 AM by
Graham-Dunnett for the following reason:
Question is off-topic or not relevant - there is not explicit question, just looks like a "fix my code" request.
Help with key code!!
Im making a key and door system. So you pick up the key and you use it to unlock a door. So when I test it I can pick up the key. here is the key script, I have assigned to the main camera I also dragged the MainCamera to the object variable:
var Length : float = 3;
static var HaveKey : boolean = false;
var ShowText : boolean = false;
var Text : String = "You picked up a key";
var other : GameObject;
function Update () {
var hit : RaycastHit;
var ray : Ray = camera.ViewportPointToRay (Vector3(0.5,0.5,0));
var fwd = transform.TransformDirection (Vector3.forward);
Debug.DrawRay(transform.position, fwd * Length, Color.green);
if(Physics.Raycast(ray, hit, Length))
{
hitObject = hit.collider.gameObject;
if(hitObject.gameObject.tag == "Key")
{
other.GetComponent(Crosshair).TextureChange();
if(Input.GetKeyUp(KeyCode.E))
{
GetKey();
Destroy(hitObject);
}
}
else if(hitObject.gameObject.tag == "Untagged")
{
other.GetComponent(Crosshair).BackToNormal();
}
}
else if(!Physics.Raycast(transform.position, transform.forward, hit, Length))
{
other.GetComponent(Crosshair).BackToNormal();
}
}
function GetKey(){
HaveKey = true;
ShowText = true;
yield WaitForSeconds(3);
ShowText = false;
}
function OnGUI(){
if(ShowText)
{
GUI.Label(Rect(Screen.width /2 -62.5, Screen.height /2 + 50, 200, 100), Text);
}
}
Also my FirstPersonController is tagged as Player. Please help it's urgent!
Comment
Follow this Question
Related Questions
The name 'Joystick' does not denote a valid type ('not found') 2 Answers
How to launch an animation pressing e 1 Answer
How to make an Interactive Door (Raycasting) 1 Answer
Problems with Raycast 0 Answers
Custom Collision Detection 4 Answers