实现的效果是:用鼠标点击屏幕,然后以鼠标为中心,按钮均匀的排在四周
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class ttt : MonoBehaviour {
public List<GameObject> jihe = new List<GameObject>();
public int num = 4;
public GameObject parentt;
private GameObject testObj;
public GameObject qiu;
// Use this for initialization
void Start () {
GameObject btn = Resources.Load("Button") as GameObject;
for(int i = 0; i < num; i++)
{
GameObject m= Instantiate(btn);
m.transform.parent = parentt.transform;
m.SetActive(false);
jihe.Add(m);
}
}
// Update is called once per frame
void Update () {
if (Input.GetMouseButtonDown(0))
{
if (testObj == null)
testObj = new GameObject();
testObj.transform.position =Input.mousePosition;
testObj.transform.rotation = Quaternion.Euler(0, 0, 0);
qiu.transform.position = Input.mousePosition;
float spacing = 360 / num; //几等分
List<Vector3> kk = new List<Vector3>();
for (int i = 0; i < num; i++)
{
Vector3 pos = testObj.transform.TransformPoint(new Vector3(0, -48, 0));//局部转世界
kk.Add(pos);
testObj.transform.Rotate(Vector3.forward * spacing);
}
for(int iii = 0; iii < jihe.Count; iii++)
{
jihe[iii].transform.position = kk[iii];
jihe[iii].SetActive(true);
}
}
}
}
----------------
----------------
之所以写这篇文章的目的,是这篇文章提供一个新的方法,实现一点为中心,物体均匀排在这个中心四周
---------------
用到局部转世界的方法
---------------
FR:徐海涛(hunk Xu) QQ技术交流群:386476712)