Unity预制件作为检查器中的对象,要求附加对象

时间:2018-07-05 14:07:02

标签: c# unity3d

我正在将预制件作为对象,然后尝试使用具有这些预制件的这些对象来做某事。但是,在检查器中,它要求附加实际上已经通过代码附加的对象。

代码

public float hitspeed=2f;
public GameObject target, mytarget;
public GameObject arrow,myarrow;

//Use this for initialization
void Start (){
    myarrow = Instantiate(arrow, new Vector3(0.02f, -3.98f, 0), transform.rotation);
    mytarget = Instantiate(target, new Vector3(-0.06435323f, 2.325303f, 0f), transform.rotation);
}

检查器

inspector

错误

  

[06:34:34] UnassignedReferenceException:刀的可变箭头尚未分配。您可能需要在检查器中分配刀脚本的arrow变量。

     

[06:34:39] UnassignedReferenceException:尚未分配刀的变量myarrow。您可能需要在检查器中分配刀脚本的myarrow变量。

2 个答案:

答案 0 :(得分:0)

选中对象,以便您可以看到图像中显示的检查器

转到“项目”窗口,找到您的预制件。

将其拖动到检查器,显示“无”。

您还可以点击“无”旁边的小目标/圆圈,然后从列表中进行选择。

答案 1 :(得分:0)

确实,您似乎已经分配了myarrowmytarget,但是,您已经使用targetarrow实例化了它们。您已使用gui设置了target,但没有设置arrow。您还必须设置arrow

通常,引用another answer

  

[{arrowtarget必须]是您已经在编辑器中创建的预制件,   拖放到该对象的“检查器”窗口中。

     

向您保证:

     
      
  1. 创建了一个预制件

  2.   
  3. 在编辑器中选择了此对象,因此检查器出现

  4.   
  5. 将预制件拖放到检查器中的“箭头” /“目标”字段

  6.