0
在Unity中,在運行時,我禁用時將父對象從其父對象中分離出來。正在將錯誤記錄到控制檯「GameObject已被激活或停用」。unity3d遊戲對象已被激活或取消激活
顯然這是因爲我正在改變父母在相同的框架,孩子被停用。即使我在層次結構中看到孩子成功分離,也會發生這種情況。所以,從我的角度來看,一切運行良好。
那麼,有誰知道這是否只是一個虛假的錯誤,是否真的需要關心?
在Unity中,在運行時,我禁用時將父對象從其父對象中分離出來。正在將錯誤記錄到控制檯「GameObject已被激活或停用」。unity3d遊戲對象已被激活或取消激活
顯然這是因爲我正在改變父母在相同的框架,孩子被停用。即使我在層次結構中看到孩子成功分離,也會發生這種情況。所以,從我的角度來看,一切運行良好。
那麼,有誰知道這是否只是一個虛假的錯誤,是否真的需要關心?
我相信你有一些奇怪的事情發生,因爲這樣的錯誤不會發生,在這裏你可以證明它。
把這個腳本:
using UnityEngine;
public class SyncTest : MonoBehaviour {
private Transform cube;
void Start() {
cube = transform.GetChild(0); // No tests as I know it's there
}
private void OnMouseUpAsButton()
{
cube.parent = null;
gameObject.SetActive(false);
}
}
然後創建一個球體,把一個立方體作爲其子就像這樣:
然後腳本連接到球:
Run th e場景,只需單擊球體上,結果是球消失,立方體保持上不再是孩子,產生完全沒有錯誤:
我相信你有一定的同步問題,以某種奇怪的方式運行這兩個命令,很可能你連續兩次調用obj.SetActive(false);
。
你用'OnDisabled'函數做這個嗎? –
我相信Telepathy目前在Unity中不起作用。那麼你想分享你使用的代碼嗎? –
這聽起來很像 'obj.transform.parent = null;' 如果你這樣做了與'obj.SetActive(false)'相同的幀;'錯誤會記錄在 – magoo