2015-07-11 20 views
0

我正在製作2D賽車遊戲......並且我在畫布背景(道路).my汽車和敵方汽車中使用UI圖像,並且我試圖實例化敵方汽車這個腳本通過附加這個腳本來清空gameObject,然後將敵人預製件附加到腳本中的敵人汽車圖像中......但奇怪的是:敵方汽車在層次結構中被實例化,但我在遊戲中看不到它什麼是錯的 ?是與孩子和父母有關的錯誤還是什麼?以及如何在腳本中將該UI圖像製作爲畫布的子項?如何在Unity2D中實例化UI圖像

using UnityEngine; 
using UnityEngine.UI; 
public class Generate : MonoBehaviour 
{ 
public Image enemyCar; 

// Use this for initialization 
void Start() 
{ 
    InvokeRepeating("CreateEnemy", 1f, 1.5f); 
} 

void CreateEnemy() 
{ 
    Instantiate(enemyCar); 
} 
} 

回答

0

在新的UI系統中,UI元素只有在它們是Canvas的孩子時才能看到。簡單地實例化元素將放入層次結構中,但不放在畫布下。你需要在看到的畫布中找到一個引用,並將其變換爲父實例化的敵人。例如使用這個C#代碼。

var _quitmessage = Instantiate(Resources.Load("Messages/QuitMessage", typeof(GameObject))) as GameObject; 
       canvasObject = GameObject.Find("Canvas"); 
       _quitmessage.name = "Quit Message"; 
       _quitmessage.transform.SetParent(canvasObject.transform, false);