如何在renderer.material.color之后将颜色返回到其导入颜色?

时间:2014-08-03 20:56:53

标签: unity3d unityscript

我从Photoshop导入了一个自定义精灵,它的颜色是紫色的。我想要它,以便当按下按钮时,它会改变颜色。当我使用renderer.material.color = Color.cyan;时,按下按钮后,我不知道如何使按钮的颜色恢复正常。

2 个答案:

答案 0 :(得分:0)

没有内置的方法可以做到这一点。但是,您可以在修改原始颜色之前存储原始颜色并重新分配:

Color originalColor;

void Awake()
{
    originalColor = renderer.sharedMaterial.color;  
}
void ChangeColor(Color newColor)
{
    renderer.material.color = newColor;
}
void ResetDefaultColor()
{
    renderer.material.color = originalColor;
}

答案 1 :(得分:0)

我只是注意到我的答案,其核心是与Heisenbug相同,但在UnityScript中。

private var original : Color;

function Start () 
{
    original = renderer.sharedMaterial.color;  
}

function changeColor(newColor : Color)
{
    renderer.material.color = newColor;
}

function resetColor()
{
    changeColor(original);
}

这是您使用它的方式:

changeColor(Color.black);