【问题标题】:Unity 5 // when enemy spawns , Enemy target is none?Unity 5 // 当敌人产生时,敌人的目标不是?
【发布时间】:2016-12-29 01:27:19
【问题描述】:

我有一个基本的 AI 脚本,我将在其中分配一个对象让敌人追逐。 问题是,当我将敌人变成预制件时,目标分配变为空白,当它是预制件时我无法更改它。我尝试在代码本身中分配对象,但我不完全确定如何去做(我尝试了很多事情,但没有任何结果)。

任何关于如何解决第一个问题或如何在代码中分配目标的提示都会非常有帮助。 JavaScript 将是代码的首选语言。

【问题讨论】:

  • 您的脚本使用什么编程语言?
  • 您的目标似乎是一个变换而不是一个游戏对象。
  • 我建议使用游戏管理器将潜在目标列表加载为List,然后在敌人awake()s 时从列表中选择一个

标签: unity3d unity5 unityscript


【解决方案1】:

这是预制件的预期行为。

您不能将属于场景的游戏对象链接到资产中预制件的字段,因为它必须完全独立于场景的任何实例。预制件旨在被实例化,然后,您将能够(通过代码)将您想要的公共字段分配给实例化的敌人。将预制件视为您可以实例化的 HDD 中的文件。

没有任何代码很难提供帮助,但我想你可以做类似的事情:

 var newEnemy : EnemyAI = Instantiate(enemyPrefab);
 newEnemy.target = GameObject.FindWithTag ("Player").GetComponent.<Transform>();

我对 Unity 脚本一窍不通。


您仍然可以通过将预制件拖放到场景中来直接“实例化”场景中的敌人,并且您将能够分配 实例化预制件的目标。 p>

【讨论】:

    猜你喜欢
    • 2023-03-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-07
    • 1970-01-01
    • 2016-10-27
    相关资源
    最近更新 更多