效果图:
代码:
using UnityEngine;
using System.Collections;
using System.Collections.Generic;
using System;
public class CubeColorDemo : MonoBehaviour {
//颜色列表
public List<Color> cl = new List<Color>() { Color.black, Color.blue, Color.yellow , Color.cyan, Color.green };
void Start () {
//开启协程
StartCoroutine(CreateCute());
}
private IEnumerator CreateCute()
{
for (int i = 0; i < cl.Count; i++)
{
print(cl.Count);
if (i != 0)
{
//暂时存储最后一个颜色变量
Color temp = cl[cl.Count - 1];
//删除最后一个元素 必须要删除不删除不能运行
cl.RemoveAt(cl.Count - 1);
//将暂存的最后一个颜色变量插入到0位置
cl.Insert(0, temp);
}
for (int n = 0; n < cl.Count; n++)
{
//创建Cube 改变位置 赋予颜色
GameObject obj = GameObject.CreatePrimitive(PrimitiveType.Cube);
obj.transform.position = new Vector3(n, i, 0);
obj.GetComponent<MeshRenderer>().material.color = cl[n];
yield return new WaitForSeconds(1);
}
}
}
}