我是统一的新手,正在尝试通过脚本更改精灵的颜色。 我正在关注本教程页面:https://www.tutorialspoint.com/unity/unity_coroutines.htm。我正在使用Unity 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
实际上,检查员完全被场景忽略了!请注意,子画面为白色(而不是紫色/黄色/绿色)。 请注意,如果我更改比例,则“播放”屏幕中什么也没有发生: https://i.ibb.co/sjdCvfw/4.jpg
但是,当我返回“游戏”屏幕(不停止游戏)时,子画面的框架会发生变化,但实际大小不会改变: https://i.ibb.co/R054Rv0/5.jpg
脚本似乎使检查员脱离了场景。 是虫子吗?还是我在这里想念东西?
谢谢:)
答案 0 :(得分:0)
解决了!
我的问题是:我在UI界面中选择了 Alpha属性为0 的颜色。 所以我看不到任何颜色变化。
我仍然不明白为什么“比例”属性对检查器中的实时变化没有反应,但是选择Alpha值为255(不透明度)的颜色可以解决所有问题。