【发布时间】:2015-12-13 12:35:49
【问题描述】:
我有 4 个按钮,按下按钮时每个按钮都会闪烁。但是,如果您要按下一个按钮,则当该按钮较暗(闪烁)时单击另一个按钮,该按钮就会保持黑暗。我想在禁用它们之前重置精灵的颜色,但是它不起作用。当按钮被按下时,它们不再闪烁......
代码如下:
void Start () {
easy.GetComponent<SpriteRenderer>().color = color;
}
void Update () {
if(difficultySelected[0] == true){
enemyBehavior.shotsPerSecond = 0.2f;
//Enabling the selected button
easy.enabled = true;
//Reseting the colors
normal.GetComponent<SpriteRenderer>().color = color;
hard.GetComponent<SpriteRenderer>().color = color;
expert.GetComponent<SpriteRenderer>().color = color;
//Disabling the 'unselected' buttons
normal.enabled = false;
hard.enabled = false;
expert.enabled = false;
easy.Play("Difficulty");
}else if(difficultySelected[1] == true){
enemyBehavior.shotsPerSecond = 0.5f;
normal.enabled = true;
easy.GetComponent<SpriteRenderer>().color = color;
hard.GetComponent<SpriteRenderer>().color = color;
expert.GetComponent<SpriteRenderer>().color = color;
easy.enabled = false;
hard.enabled = false;
expert.enabled = false;
normal.Play("Difficulty");
}else if(difficultySelected[2] == true){
enemyBehavior.shotsPerSecond = 1;
hard.enabled = true;
easy.GetComponent<SpriteRenderer>().color = color;
normal.GetComponent<SpriteRenderer>().color = color;
expert.GetComponent<SpriteRenderer>().color = color;
easy.enabled = false;
normal.enabled = false;
expert.enabled = false;
hard.Play("Difficulty");
}else if(difficultySelected[3] == true){
enemyBehavior.shotsPerSecond = 2;
expert.enabled = true;
easy.GetComponent<SpriteRenderer>().color = color;
normal.GetComponent<SpriteRenderer>().color = color;
hard.GetComponent<SpriteRenderer>().color = color;
easy.enabled = false;
normal.enabled = false;
hard.enabled = false;
expert.Play("Difficulty");
}
}
【问题讨论】:
-
听起来像是一个调试任务,你已经提前了..开始调试
-
我对 Unity3d 不是很熟悉,但是 alpha 通常是一个颜色通道。
RGBA..我(认为它是 32 位 targa 文件中的 GBRA,但您通常不必处理托管中的字节顺序..) -
遮罩是另一种适用于整个图像/图形/纹理的技术
-
无论如何.. 我真的不一定在这里看到 SO 问题,它似乎更像是一个依赖于平台的问题,您可能会从 gamedev.stackexchange.com 获得更多关于此事的信息。
-
谢谢大家! @BrettCaswell 我刚刚把它放在 gamedev.stackexchange.com 上
标签: c# button unity3d alpha flashing