我一直在Unity,C#和Visual Studio的遊戲工作。方法返回較早,意外
有一種方法一直在正常工作,並且因爲一個未知的原因,它已經不存在了。通過使用Visual Studio的代碼步進,我發現該方法在完成if代碼塊後立即返回。
這意味着,該行
equippedItem = null;
slotIsEquipped = false;
沒有得到任何更多的執行。
public void Unequip()
{
if (equippedItem != null)
{
equippedItem.transform.parent = null;
equippedItem.GetComponent<Animator>().applyRootMotion = true;
equippedItem.GetComponent<Animator>().enabled = false;
equippedItem.transform.position = new Vector3(0, -256, 0);
equippedItem.GetComponent<Weapon>().holder = null; //
}
equippedItem = null;
slotIsEquipped = false;
}
這怎麼可能?
您是否正在發行模式下運行? – Steve
不可以,設置是Debug/Any CPU。 –
如果你在'equippedItem.GetComponent().holder = null;'之後直接放了一些東西,它會執行嗎? –
IllidanS4