2016-10-29 62 views
0

我正在使用Unity 5.4.0f3製作Android遊戲,並且無法淡出精靈的color.a值。我嘗試過動畫,但它們似乎不適合我。我曾嘗試使用herehere中的代碼,但那些代碼都不起作用。我想讓精靈在輕敲約1秒後淡出。我想我需要使用for循環和Mathf.Lerp。請幫忙。在統一中褪色Alpha值?

編輯:這是我想要淡出的對象的檢查器視圖的圖像。

enter image description here

+0

向我們展示該對象所附着的材質的屏幕截圖,特別是其着色器類型。 –

+0

在問題 – Raid

回答

0

因爲Sprite-Default材料是NOT修改。

試試這個:

最簡單的方法:

/* Modify SpriteRenderer.color instead of Material.color */ 
//Get the renderer via GetComponent or have it cached previously 
var renderer = GetComponent<SpriteRenderer>(); 
renderer.color = new Color(0f, 0f, 0f, 0f); // Do your lerping stuff with this property 

如果您仍然想修改材料

  1. Project選項卡中創建新材料並將其命名爲 想要的任何內容。 Project選項卡 - >Create - >Material

    enter image description here

  2. 指定它像下面的圖像中的着色器。

    enter image description here

  3. 指派新建material您雪碧渲染 Material插槽。注意,現在您可以修改檢查員的材料顏色 。它不再變灰。你應該運行 你再次編碼,它應該工作。

    enter image description here

+0

上添加圖片改變工作顏色。謝謝! – Raid

0

當然變化sprRender.color,不color.a。簡單的代碼給你,Fadeout工作。添加你的高級。

using UnityEngine; 
using System.Collections; 

[RequireComponent(typeof(SpriteRenderer))] 

public class FadeOut : MonoBehaviour { 
    SpriteRenderer sprRender; 

    void Start() 
    { 
     sprRender = GetComponent<SpriteRenderer>(); 
    } 

    void Update() 
    { 
     sprRender.color -= new Color(0, 0, 0, Time.deltaTime); 
    } 
}