- Home /
Game object pickup using mouse click
How can I pick up a game object like a key that is hanging on a wall using a mouse click?
Maybe I should be using a raycast for this or something? I've been hunting all over hells half acre to try and figure the best way to have my FPS player pick up a key hanging on a wall and use it later to open a locked gate.
My key has a box collider that is set to trigger. Right now if I click on it my shotgun goes off because it also uses the mouse button to fire. I would prefere an on mouse action to retrieve the keys from the wall as it's a bit more deliberate and less likely to be picked up accidentally if you know what I mean.
I'm using this script on my Key object, it's incomplete as I'm trying to figure out how to get it to work:
var keyPickupSound : AudioClip;
function OnMouseDown (){
//Play Key Pickup Sound if (keyPickupSound) AudioSource.PlayClipAtPoint(keyPickupSound, transform.position);
Destroy(gameObject, audio.clip.length);
}
Answer by Kourosh · Apr 13, 2011 at 04:57 PM
The gameobject (Key) needs to have a collider of any type( in this case a box collider is advised). Then use the function OnMouseUp to receive the mouse input on that gameobject. You can either destroy it or deactivate it.
See this is the part that always confuses me, would a script for this go on the FPS player or would it go on the game object being picked up?
Its better to be an individual script attached to your key gameObject.
Your answer

Follow this Question
Related Questions
Illuminating a 3D object's edges OnMouseOver (script in c#)? 1 Answer
How would go about making a weapon pick up? 3 Answers
Switching/Picking up items in a third-person game 2 Answers
Start FPS player off with no weapon 2 Answers
Unity3D HELP! How can i pickup/hold/throw object when im rolling ball? 4 Answers