团结中衰落的Alpha值?

时间:2016-10-29 20:19:24

标签: c# unity3d unity5 unity3d-2dtools

我正在使用Unity 5.4.0f3为Android制作一款游戏,并且无法淡出精灵的color.a值。我尝试过动画,但它们似乎对我不起作用。我尝试过使用herehere中的代码,但这些代码也无效。我希望精灵在点击时淡出约1秒钟。我想我需要使用for循环和Mathf.Lerp。请帮忙。

编辑:这是我要淡出的对象的巡视图视图的图像。

enter image description here

2 个答案:

答案 0 :(得分:0)

因为Sprite-Default素材可修改。

请改为尝试:

  

最简单的方式:

/* 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标签 - &gt; Create - &gt; Material

    enter image description here

  2. 为其指定一个着色器,如下图所示。

    enter image description here

  3. 将新创建的material分配给您的Sprite渲染器 Material位置。请注意,现在您可以修改材质颜色 检查员。它已经不再灰显了。你应该跑 你再次编码,它应该工作。

    enter image description here

答案 1 :(得分: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);
    }
}