- Home /
Question by
NewLife Prod. · Dec 14, 2013 at 06:30 AM ·
playertagtargetfor
how to target/tag multiple objects?
My problem is that I dont know how to shoot my homing missile and target multiple objects instead of one. May someone help me please?
var Speed : float;
var Turn : float;
private var rotationSpeed : float = -100.0;
function Start(){
}
function Update (){
transform.Rotate(Vector3(0, rotationSpeed * Time.deltaTime, 0));
var targets: GameObject[] = GameObject.FindGameObjectsWithTag("Large"),("Medium"),
("Small"),("AlienShip");
var closest: GameObject;
var closestDist = Mathf.Infinity;
for (Target in targets){
var dist = (transform.position - Target.transform.position).sqrMagnitude;
if (dist < closestDist){
closestDist = dist;
closest = Target;
}
}
transform.rotation=Quaternion .Slerp(transform.rotation, Quaternion.
LookRotation(closest.transform.position-transform.position), Turn* Time.deltaTime);
transform.position +=transform.forward*Speed*Time.deltaTime;
}
function OnCollisionEnter(Collision : Collision){
Destroy(gameObject);
}
Comment
Answer by KellyThomas · Dec 14, 2013 at 07:25 AM
If the question is how to scan though multiple tags please look at this example:
var closest: GameObject;
var closestDist = Mathf.Infinity;
var enemyTags: String[] = ["Large","Medium","Small","AlienShip"];
for (tag in enemyTags) {
var targets: GameObject[] = GameObject.FindGameObjectsWithTag(tag);
for (target in targets) {
var dist: float = (transform.position - target.transform.position).sqrMagnitude;
if (dist < closestDist) {
closestDist = dist;
closest = target;
}
}
}
However if the question is how to identify and target "clusters" of enemies to optimise splash damage, then please explain what is happening in you game in more detail.
Your answer
Follow this Question
Related Questions
Distance from tagged objects problem 1 Answer
CompareTag and OverlapSphere 1 Answer
"Player" tag collider from other GameObject? 1 Answer
Collision detection problem 1 Answer
Enemy spawn then select target? 1 Answer