【发布时间】:2019-08-03 11:02:18
【问题描述】:
我是一个新的统一并试图通过脚本改变精灵的颜色。 我正在关注本教程页面: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
脚本似乎使检查员与场景断开连接。 这是一个错误吗?还是我在这里遗漏了什么?
谢谢你:)
【问题讨论】:
-
您使用的颜色的 alpha 设置为
0f(透明),可能是这样,但不确定。 -
akaBase 你是对的!!!非常感谢!