2.1. changerColor
改变物体颜色
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class changerColor : MonoBehaviour {
//MeshRenderer网格渲染器
private MeshRenderer meshRender;
void Start()
{
//获取网格渲染器
meshRender = GetComponent<MeshRenderer>();
//调用协同方法
StartCoroutine(ChangeColor());
}
void Update()
{
//实现物体一直绕中心旋转
this.gameObject.transform.Rotate(new Vector3(15, 30, 45), 200 * Time.deltaTime);
}
IEnumerator ChangeColor()
{
//蓝红黑三色切换
yield return new WaitForSeconds(1f);
meshRender.material.color = Color.blue;
yield return new WaitForSeconds(1f);
meshRender.material.color = Color.red;
yield return new WaitForSeconds(1f);
meshRender.material.color = Color.black;
yield return new WaitForSeconds(1f);
meshRender.material.color = Color.cyan;
yield return new WaitForSeconds(1f);
meshRender.material.color = Color.yellow;
yield return new WaitForSeconds(1f);
meshRender.material.color = Color.magenta;
yield return new WaitForSeconds(1f);
meshRender.material.color = Color.clear;
yield return new WaitForSeconds(1f);
meshRender.material.color = Color.gray;
yield return new WaitForSeconds(1f);
meshRender.material.color = Color.grey;
yield return new WaitForSeconds(1f);
meshRender.material.color = Color.white;
yield return StartCoroutine(ChangeColor());
}
}
2.2. randomcolor
随机颜色
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class randomcolor : MonoBehaviour {
float timer;
// Use this for initialization
void Start ()
{
}
// Update is called once per frame
void Update ()
{
//timer均匀减少
timer -= Time.deltaTime;
//如果timer小于等于零
if(timer<=0)
{
//给渲染器赋值
this.gameObject.GetComponent<MeshRenderer>().material.color = RandomColor();
//timer重置
timer = 1;
}
}
//Color类型的方法,返回一个color值
public Color RandomColor()
{
//r、g、b分别随机从0-1之间取值
float r=Random.Range(0f,1f);
float g=Random.Range(0f,1f);
float b=Random.Range(0f,1f);
//实例化一个color,并把r,g,b传进去
Color color=new Color(r,g,b);
//返回一个color值
return color;
}
}