- Home /
How to pickup flashlight with "E" key ?
Hello, I'm Lucas and my question is simple... Well, maybe not so simple, if it was, I would not ask it here...
I have a script that make I pick up my flashlight WHEN I walk next/over it, I want it to pick up the flashlight when I press the E key, but I already tried everything that I know.
The code I use to PickUp the flashlight (also the batteries for the flashlight):
using UnityEngine; using System.Collections;
public class Pickup : MonoBehaviour { public enum Item { Flashlight, Battery }
public Item item;
void OnTriggerEnter()
{
if(item == Item.Flashlight)
{
Flashlight.HeadlightMount.SetActiveRecursively(false);
Flashlight.HeadlightMount.active = true;
HUD.HasFlashlight = true;
}
else
HUD.BatteryCount++;
Destroy(gameObject);
}
}
I think I need to edit the "OnTriggerEnter" to something with the key, right ?
Use OnTriggerStay()
ins$$anonymous$$d of OnTriggerEnter()
and check for the keypress inside it:
void OnTriggerStay()
{
if (Input.Get$$anonymous$$eyDown($$anonymous$$eyCode.E))
{
if (item == Item.Flashlight) // do flashlight stuff
else // do battery stuff
}
}
Answer by ByteSheep · Jan 12, 2013 at 03:31 PM
Change the OnTrigger function like this: (added a simple if statement)
void OnTriggerStay()
{
if(Input.GetKey(KeyCode.E)) // checks if "E" was pressed on the keyboard
{
if(item == Item.Flashlight)
{
Flashlight.HeadlightMount.SetActiveRecursively(false);
Flashlight.HeadlightMount.active = true;
HUD.HasFlashlight = true;
}
else
{
HUD.BatteryCount++;
Destroy(gameObject);
}
}
}
Use comments for commenting. Answers are suppose to provide constructive information for solving the question.
Your answer
Follow this Question
Related Questions
Very simple picking up items script? 2 Answers
Flashlight pickup, battery etc 3 Answers
FlashLight Fixes Please?? 1 Answer
I need help with my torch/battery pickup script! 1 Answer
TK script: selecting all objects 0 Answers