gpt4 book ai didi

c# - Unity3d 无法使用装备预制件。

转载 作者:行者123 更新时间:2023-11-30 21:54:19 25 4
gpt4 key购买 nike

为了尝试统一,所以我制作了一个简单的玩家 Controller 和一个武器 Controller 。我将我的武器 Controller 拖到我的播放器上,并尝试指定一个预制件作为起始枪支,但出于某种原因它不允许我这样做。我无法将 Prefab 拖到脚本中的 startingGun。

我的武器 Controller 是这样的:

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;
}
}
}

最佳答案

问题是您正在尝试将预制件分配给类型为 GameObject 的变量 - 相反,您需要使用以下代码,然后您应该能够在检查器中添加预制件:

public Object startingGun;

关于c# - Unity3d 无法使用装备预制件。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33184835/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com