【问题标题】:how to instantiate UI image in unity2D如何在unity2D中实例化UI图像
【发布时间】:2015-07-11 12:35:05
【问题描述】:

我正在制作 2d 赛车游戏....并且我在画布背景(道路)中使用 UI 图像。我的汽车和敌车,我试图通过将此脚本附加到此脚本来实例化敌车空的gameObject然后将敌人预制件附加到脚本中的enemyCar图像......但奇怪的是:enemyCar在层次结构中被实例化但我在游戏中看不到它有什么问题?错误与孩子和父母有关还是什么?以及如何使该 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);
 }
}

【问题讨论】:

    标签: unity3d uiimage parent-child instantiation


    【解决方案1】:

    在新的 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);
    

    【讨论】:

      猜你喜欢
      • 2017-09-03
      • 2016-03-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多