这是我Guncontroller的代码
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class GunController : MonoBehaviour
{
public Transform weaponHold;
public Gun startingGun;
Gun equippedGun;
void Start()
{
if (startingGun != null)
{
EquipGun(startingGun);
}
}
public void EquipGun(Gun gunToEquip)
{
if (equippedGun != null)
{
Destroy(equippedGun.gameObject);
}
equippedGun = Instantiate(gunToEquip,weaponHold.position,weaponHold.rotation) as Gun;
equippedGun.transform.parent = weaponHold;
}
}
public Gun startingGun;
把你代码中的这个第3行, 改成 public GameObject startingGun; 因为你unity里面的gun那个物体没有挂gun这个脚本,但是你代码里面没有用到gun的这个脚本的地方。
你的预制体肯定不能导入啊,场景里都没出现,没有生成脚本的实例,unity自然不知道怎么添加了,按楼下说的换成gameobject也行,把预制体加载到场景里之后再获取赋值也行
直接把他拖拽到这上面就可以了