您的位置:首页 > 移动开发 > Unity3D

Unity_打印图形-金字塔

2017-08-19 20:08 489 查看
利用C#中打印图形的方法同样可以在 Unity中打印图形,而且是立体的

//金字塔
void Pyramid(int num)
{
//高
for (int i = 0; i < num; i++)
{
//长
//让j==i,每次往上加一层的时候长会比前一层减少一个
for (int j = i; j < num; j++)
{
//宽 同上
for (int l = i; l < num; l++)
{

GameObject gameObj = GameObject.CreatePrimitive(PrimitiveType.Cube);
//j-0.5f*i 和 l-0.5f*i 分别对应长和宽   i是高
//j-0.5f是为了让开始的位置和上一层岔开0.5的距离
gameObj.transform.position = new Vector3(j - 0.5f * i, i, l - 0.5f * i);
//给物体上颜色
gameObj.GetComponent<MeshRenderer>().material.color = Color.yellow;

}

}

}

}


这个金字塔的打印思路是先想一层的东西,打印长,打印宽。之后再去考虑高度。

首先宽度要一层循环,其次打印成面的时候在宽的外边套一层长度的循环。此时再去考虑怎么往上搭建。加上第三层循环的时候首先打印出来的是一个正方体。然后考虑怎么让每层都减少,高度是一层一层往上加的,每层的数量也是越来越少的。所以我们可以利用最外层循环的i值来考虑为内层减少数量。那么就可以在循环的起始条件或者终止条件上找方法。所以可以在起始条件上设定成i值或者也可以让终止条件减去i值。

此时打印的图形:



这时在考虑去挪动每层的初始位置就好了。让每层都比前一层偏移0.5个单位。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: