我想将坦克脸旋转到移动敌人的方向,我需要enemy
的位置。
enemy.transform.position;
起作用,但我的敌人在预制件中并且跟随代码不起作用。请帮助:)
using UnityEngine;
using System.Collections;
public class RotateTank : MonoBehaviour {
public GameObject enemy;
void Update () {
faceTank ();
}
void faceTank(){
Vector3 enemyPosition;
enemyPosition = enemy.transform.position;
Vector2 direction = new Vector2 (
enemyPosition.x - transform.position.x,
enemyPosition.y - transform.position.y
);
transform.up = direction;
}
}
答案 0 :(得分:1)
游戏世界中不存在预制件。预制件是&#34;模板&#34;可以实例化的。如果您想要做的是让坦克向游戏世界中存在的任何敌人旋转,您需要在RotateTank脚本中引用这些游戏对象。你可以通过多种方式实现这一目标,例如添加“敌人”和“敌人”。标记你的敌人预制并使用GameObject.FindGameObjectsWithTag找到衍生的敌人。你的List<GameObject>
脚本中也可能有一个静态RotateTank
,它包含对现有敌人的引用,并在它们产生时将它们添加到该列表中,并在它们死亡时删除它们。