unity物体随机变色

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;

}

}

 

  • 2
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值