unity中2D范围内生成多图片

算是一种取巧的办法,范围内随机生成图片且位置不重复

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
///


/// 使用Box Collider 2D和Rigidbody 2D原理
///

public class Randoms : MonoBehaviour
{
    //要生成的物体
    public Image enemy;
    //父物体
    public GameObject ui;
    // Start is called before the first frame update
    void Start()
    {
        RandomInstantiateEnemy0(enemy);
    } 

    // Update is called once per frame
    void Update()
    {
        
    }

   //随机生成物体
    public void RandomInstantiateEnemy0(Image enemy)
    {
        //指定数量
        for (int i = 0; i < 25; i++)
        {       
        //限制范围
        float x = Random.Range(-2.57f, 2.57f);
        float y = Random.Range(2.57f,-2.57f);
        //GameObject.Instantiate(enemy, new Vector3(x, transform.position.y, 0), Quaternion.identity);
        //生成并转坐标系   世界转屏幕
        Image a= Instantiate(enemy,(Camera.main.WorldToScreenPoint( new Vector2(x, y))), Quaternion.identity);
        //设置父物体
        a.transform.parent = ui.transform;
        }
    }
}

enemy--Prefab
unity中2D范围内生成多图片_第1张图片

unity中2D范围内生成多图片_第2张图片

你可能感兴趣的:(C#,Unity,渲染)