首页 > 技术文章 > 在指定地方创建预制件

guangzhiruijie 2022-01-22 21:31 原文

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
 
 
/// <summary>
/// 功能:创建 留言欣赏时候的小图
/// </summary>
public class MyCreateRawImage_enjoy_small : MonoBehaviour
{
    /// <summary>GameObject:留言欣赏时候的小图 的预制件</summary>
    [Tooltip("GameObject:留言欣赏时候的小图 的预制件")]
    [Header("GameObject:留言欣赏时候的小图 的预制件")]
    public GameObject objRawImage_enjoy_small;
 
    // Use this for initialization
    void Start()
    {
        Init();
    }
 
    // Update is called once per frame
    void Update()
    {
        
    }
 
    int Init()
    {
        //在父物体地方 创建 留言欣赏时候的小图
        Button[] obj = GameObject.FindWithTag("ScriptsHold").gameObject.GetComponent<MyButtonOnClick>().arr_btn_leaveWordContents;
 
        SetCreateChildInParentl(obj[0].gameObject, objRawImage_enjoy_small);
 
        return 0;
    }
 
    /// <summary>
    /// 功能:设置 在父物体的RectTransform下面 创建 子物体
    /// </summary>
    /// <param name="_objParent">父物体</param>
    /// <param name="_objChild">产生的物体</param>
    /// <returns></returns>
    int SetCreateChildInParentl(GameObject _objParent,GameObject _objChild)
    {
        GameObject InstantiateChild = Instantiate(_objChild);//加载完的资源相当于一个类,用 GameObject obj1 = Instantiate(obj);这样的形式实例一个类obj1;这样屏幕上会加载出来一个资源物体
 
        InstantiateChild.transform.SetParent(_objParent.transform);
 
        Vector3 vec3 = _objParent.GetComponent<RectTransform>().transform.position;
        InstantiateChild.transform.position = new Vector3(vec3.x, vec3.y, vec3.z);
        return 0;
    }
 
}

  

推荐阅读