如何解决OnEnable不更新变量-Unity3D
我有一群敌人跟随玩家在游戏中被激活/停用。 问题在于,一旦它们被重新激活,它们将保留它们在被停用之前所具有的苯乙烯刚度。速度值,并且不会像我在OnEnable()函数中所写的那样更新它们,因此它们只是移到其他位置而不是跟随播放器。 我的代码如下:
public class EnemyFollow : MonoBehaviour
{
public GameObject playerPos;
protected Rigidbody rb;
bool secondSpawn = false;
private void OnEnable()
{
if (secondSpawn)
{
Vector3 dir = new Vector3(playerPos.transform.position.x - transform.position.x,playerPos.transform.position.y - transform.position.y,playerPos.transform.position.z - transform.position.z).normalized;
rb.velocity = dir;
}
}
void Start()
{
playerPos = GameObject.FindGameObjectWithTag("Player");
rb = GetComponent<Rigidbody>();
Vector3 dir = (playerPos.transform.position - transform.position).normalized;
rb.velocity = dir;
secondSpawn = true;
}
我确定我犯了一个新手错误,但是我无法弄清楚。 谢谢您的关注。
解决方法
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。