unity3d - 如何统一每秒随机更改对象的颜色?
问题描述
它现在正在工作。这是正确的代码。InvokeRepeating 需要 3 个参数。 我添加了我需要的颜色并选择了我的网格渲染器
using UnityEngine;
public class colorchange : MonoBehaviour {
public Color []colors;
public Renderer rendering;
void Start ()
{
InvokeRepeating ("ChangeColor", 0f, 1f);
}
void ChangeColor()
{
rendering.material.color = colors[Random.Range(0, colors.Length -1)];
}
}
解决方案
public Renderer renderer;
void Start()
{
InvokeRepeating("ChangeColor", 1.0f, 1.0f);
}
void ChangeColor()
{
renderer.material.color = new Color(Random.Range(0f,1f), Random.Range(0f,1f), Random.Range(0f,1f), 1.0f);
}
一个主要问题是它会在很多场合给出真正“丑陋”的颜色。所以你最好有一系列颜色可供选择:
public Color []colors;
public Renderer renderer;
void Start()
{
InvokeRepeating("ChangeColor", 1.0f, 1.0f);
}
void ChangeColor()
{
renderer.material.color = colors[Random.Range(0, colors.Length -1)];
}
要查看的一些信息源: https ://docs.unity3d.com/ScriptReference/MonoBehaviour.InvokeRepeating.html https://docs.unity3d.com/ScriptReference/Renderer-material.html
推荐阅读
- python-3.x - 如何增加 keras Conv Net 中的时代数
- sugarcrm - $event 在“逻辑钩子”中是如何使用的?
- windows - IShellFolder.CompareIDs 的 SHCIDS_ALLFIELDS 标志是什么?
- angular - ng-bootstrap:模态全局选项
- java - 由图像引起的 NPE 错误?
- python - 裁剪图像中的区域
- javascript - 无法在 vue js 中使用两个组件
- python - ZSH 没有名为 numpy 的模块,用于 python3 解释器和 jupyter 笔记本
- javascript - 在 alert() 中显示的 HTML 输入
- javascript - vuejs getelementbyid django