如何在unity2D中实例化UI图像

时间:2015-07-11 12:35:05

标签: unity3d uiimage parent-child instantiation

我正在制作2D赛车游戏....我在画布背景(道路)中使用UI图像。我的汽车和敌人的汽车我试图用这个脚本实例化敌人的汽车将此脚本附加到空游戏对象然后将敌人预制件附加到脚本中的敌人汽车图像...但奇怪的是:敌人汽车在层次结构中被实例化但我无法在游戏中看到它什么是错了?与孩子和父母有关的错误是什么?如何在脚本中将该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);
 }
}

1 个答案:

答案 0 :(得分: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);