这位同学太有才了,写得都非常好- -
using UnityEngine;
public class PadelCreate : MonoBehaviour
{
public GameObject prb_padel;
public float angel = 30;
public int leftCount = 50;
public int rightCount = 50;
private Vector3 lastOnePosition;
void Start()
{
if (prb_padel == null)
prb_padel = GameObject.CreatePrimitive(PrimitiveType.Cube);
anyAngelPadel(angel);
}
/// <summary>
/// 任意角度的楼梯实例
/// </summary>
/// <param name="angel"></param>
void anyAngelPadel(float angel)
{
float hudu = (angel / 180) * Mathf.PI;
//上楼梯
for (int i = 0; i < leftCount; i++)
{
GameObject tmpPadel = (GameObject)Instantiate(prb_padel);
float yy = i * Mathf.Tan(hudu);
tmpPadel.transform.position = new Vector3(-7 + i, -2 + yy, 0);
lastOnePosition = tmpPadel.transform.position;
}
//水平方向生成两个
for (int i = 0; i < 2; i++)
{
GameObject tmpPadel = (GameObject)Instantiate(prb_padel);
tmpPadel.transform.position = new Vector3(lastOnePosition.x + 1, lastOnePosition.y, 0);
lastOnePosition = tmpPadel.transform.position;
}
//下楼梯
for (int i = 0; i < rightCount; i++)
{
GameObject tmpPadel = (GameObject)Instantiate(prb_padel);
float yy = i * Mathf.Tan(hudu);
tmpPadel.transform.position = new Vector3(lastOnePosition.x + i, lastOnePosition.y - yy, 0);
//lastOnePosition = tmpPadel.transform.position;
}
}
}
50*50
6*6