在我的遊戲中,如果這是玩家第一次玩遊戲,那麼我將顯示一個圖像。我初始化它在畫布上,像這樣:Gameobject在畫布中實例化顯示在其他畫布項後面
if (PlayerPrefs.GetInt("First Time", 1) == 1)
{
introEnabled = true;
//pause all activity
pause.pauseOrResume();
intro = Instantiate (Resources.Load ("intro"), transform.position, Quaternion.identity) as GameObject;
Canvas canvas = GameObject.Find("Canvas").GetComponent<Canvas>();
intro.transform.SetParent(canvas.transform, false);
//robot = Instantiate (Resources.Load ("robot"), transform.position, Quaternion.identity) as GameObject;
PlayerPrefs.SetInt("First Time", 0);
PlayerPrefs.Save();
}
我可以在檢查時,看到在遊戲運行時創建的對象時,它在畫布上顯示出來。我只是不知道爲什麼它不會顯示在畫布上所有其他對象的頂部。
畫布渲染模式設置爲「Screen space - Overlay」,並按排序順序將其設置爲0。被實例化的遊戲對象也具有0的排序順序,並且它在默認層中。
沒有我已經嘗試過的工作。 z值沒有任何區別,甚至將畫布和實例化對象放置在默認圖層中,並將畫布設置爲2的排序順序,並將實例化對象設置爲1的排序順序(因此它首先被渲染)不會形成區別。
將變形後的遊戲對象同時添加到canvas和新實例化的遊戲對象中後,新實例化的遊戲對象仍然顯示在舊的畫布項後面。 – saboehnke
他們有'RectTransform's?和'Image'組件? – maksymiuk
新實例化的遊戲對象有一個轉換和一個精靈渲染器。這就對了。這是一個預製,我正在實例化。 – saboehnke