尝试团结一致,所以我制作了一个简单的玩家控制器和一个武器控制器。 我将我的武器控制器拖到我的播放器上,我试着指定一个预制件作为起始枪,但由于某种原因它不允许我这样做。我无法将Prefab拖到我脚本中的startingGun中。
我的武器控制器如下所示:
namespace Assets.Scripts.Weapon
{
public class WeaponController : MonoBehaviour
{
public Transform WeaponHold;
public Gun startingGun;
private Gun EquippedGun;
void Start()
{
if (startingGun != null)
{
EquipWeapon(startingGun);
}
}
public void EquipWeapon(Gun gunToEquip)
{
if (gunToEquip != null)
Destroy(EquippedGun.gameObject);
EquippedGun = Instantiate(gunToEquip, WeaponHold.position, WeaponHold.rotation) as Gun;
if (EquippedGun != null)
EquippedGun.transform.parent = WeaponHold;
}
}
}
答案 0 :(得分:2)
问题在于您是否尝试将预制件分配给具有GameObject类型的变量 - 而是需要使用以下代码,然后您应该能够在检查器中添加预制件:
public Object startingGun;