我刚开始使用Unity,在我的第一个游戏中,我试图使这些敌方方块追逐玩家。敌人是在随机位置生成的,我正在尝试使它们向玩家立方体的位置移动。但是当我尝试引用播放器的“变形”时,它不会让我将其拖动到顶部,有任何修复方法吗?
using UnityEngine;
public class enemyFollow : MonoBehaviour {
public Transform player;
public Rigidbody rb;
public float movementForce;
// Update is called once per frame
void FixedUpdate()
{
if (player.position.x > transform.position.x){
rb.AddForce(movementForce * Time.deltaTime,0,0);
}
if (player.position.x < transform.position.x){
rb.AddForce(-movementForce * Time.deltaTime,0,0);
}
if (player.position.z > transform.position.z){
rb.AddForce(0,0,movementForce * Time.deltaTime);
}
if (player.position.z < transform.position.z){
rb.AddForce(0,0,-movementForce * Time.deltaTime);
}
}
}
团结不允许我将玩家从游戏对象窗口拖到预制脚本上。错误消息:“尚未分配敌人的变量玩家”它不会让我分配播放器。
您可以将其添加到无效的Start()方法中:
如果我的理解正确,您正在尝试在预制配置中将玩家分配给敌人。那是行不通的,因为预制件不在现场。由于预制可以在任何场景中实例化,因此您不能引用场景对象。您需要在游戏过程中执行此操作,除非在设置时所有敌人都已在场景中(在这种情况下,您需要对实例化的敌人进行操作,然后将其复制粘贴)。