Stupid question: Targeting objects to measure distance and assigning variables. What am I doing wrong?
My apologies for these incredibly simple questions and poor formatting. I'm super new to coding and have no idea what I'm doing.
Is there a simple way to find the nearest version of a type of tag? I want to measure to the nearest of a specific pickup type.
using UnityEngine; using System.Collections; public class PickUpScript : MonoBehaviour {
FMOD.Studio.EventInstance Jump;
FMOD.Studio.ParameterInstance Level;
int levelUp;
void Start()
{
levelUp = 0;
Jump = FMODUnity.RuntimeManager.CreateInstance("event:/Jump");
Jump.getParameter ("JumpLvl", out Level);
}
void Update()
{
void OnTriggerEnter(Collider other) //Code is called when a collider or rigidbody touches the trigger
{
if (other.gameObject.tag == "PickUp")
{ //Determines tag of objects that will be destroyed
FMODUnity.RuntimeManager.PlayOneShot ("event:/PickUp"); //Play the FMOD ScorePoint event
Destroy (other.gameObject); //Destroy the collided with GameObject
FMODUnity.RuntimeManager.PlayOneShot ("event:/PickUp"); //Play the FMOD ScorePoint event
levelUp = levelUp + 1;
Level.setValue (levelUp);
}
}
}
Comment
Answer by KoenigX3 · Jan 15, 2017 at 05:49 PM
If there are not too many GameObjects on the scene, and the pickups are marked with a "PickUp" tag, you could use
GameObject[] objects = GameObject.FindGameObjectsWithTag("PickUp");
// If you want to get the GameObject instead of the distance
// use this line instead
// GameObject go;
float distance = float.MaxValue;
for(int i = 0; i < objects.Length; i++)
{
float currentDistance = Vector3.Distance(transform.position, objects[i].transform.position);
if(currentDistance < distance)
{
// If you want to get the GameObject
// use this line
// go = objects[i];
distance = currentDistance;
}
}
Debug.Log("The nearest object is " + distance + " units away");
Your answer
![](https://koobas.hobune.stream/wayback/20220612104734im_/https://answers.unity.com/themes/thub/images/avi.jpg)
Follow this Question
Related Questions
Coroutine on collision 1 Answer
The sound of the door does not stop 0 Answers
Unity app killing music application playing 0 Answers
Fix sound delay 6 Answers
One Song plays but the other does not? 0 Answers