我是一个新的团结,并试图改变一个精灵的颜色通过一个脚本。下面是教程页面:coroutines.htm。我用的是联合2019.2.0f1
当按下“播放”键时,我可以看到巡查员中的颜色每秒钟都在变化,但在场景中什么也没有发生。
守则:
公共类colorChanger : MonoBehaviour {
public int seconds_interval;
public SpriteRenderer sr;
public Color color_1;
public Color color_2;
IEnumerator changeColor(){
while (true){
if (sr.color == color_1){
sr.color = color_2;
} else {
sr.color = color_1;
}
yield return new WaitForSeconds(seconds_interval);
}
}
// Start is called before the first frame update
void Start()
{
sr = gameObject.GetComponent<SpriteRenderer>();
StartCoroutine( changeColor() );
//sr.color = color_1;
}
// Update is called once per frame
void Update()
{
}
}
解释和截图:
这是雪碧,注意它以紫色开头,然后脚本应该改变它的颜色:https://i.ibb.co/rQy2Lpr/1.jpg
当按下“播放”键时,我可以看到检查器中的颜色每秒钟都在变化,但是在场景中什么也没有发生:黄色:https://i.ibb.co/DRhcpPT/2.jpg。
绿色(1秒后):https://i.ibb.co/Yc0v26K/3.jpg
实际上,巡查员被现场完全忽略了!注意,雪碧是白色的(而不是紫色/黄色/绿色)。注意,如果我改变了比例,在"play“屏幕上什么也不会发生:https://i.ibb.co/sjdCvfw/4.jpg
但是当我回到“游戏”屏幕(没有停止游戏)时,精灵的帧会改变,但不是它的实际大小:https://i.ibb.co/R054Rv0/5.jpg
看上去剧本让巡查员和现场断绝了联系。是虫子吗?还是我在这里漏掉了什么?
(谢谢:)
发布于 2019-08-03 12:52:28
解决了!
我的问题是:我在UI界面中选择了颜色,而他们的Alpha属性是0。所以我看不出任何颜色的变化。
我仍然不明白为什么“比例”属性没有对检查器中的实时变化做出反应,但是用Alpha of 255 (不透明度)选择颜色解决了所有问题。
https://stackoverflow.com/questions/57337712
复制相似问题