項目場景:
項目場景中,須要動態添加一個Prefab,可是該預制體的位置和咱們預設的不一致。
問題描述:
須要注意預制體Transfom應該如何設置,通常狀況下的邏輯是:
GameObject effect = Instantiate(Resources.Load("Text/Window")) as GameObject;//加載prefab effect.transform.parent = GameObject.Find("Canvas").transform;//將prefab加入Canvas節點下
可能咱們直接手動的把預制體拖拽到Canvas節點下,表現正常,但經過代碼去設置卻出現了錨點錯誤的狀況,實際上,添加的過程以下,將prefab初始化,而后將該節點放置在根節點下,而在根節點下,咱們以前設置的參數已經不正確了。致使Prefab的位置錯誤。
解決方案:
在根節點下建立你的預制體,這樣的坐標和咱們動態添加的坐標是一致的。盡可能使用svg
這種錨點模式,設置好之后,若是在根節點下是你想要的形狀和位置,那咱們經過代碼動態添加也是正確的。spa