【Unity&NGUI&UGUI】2D精灵物体变色彩透明以及图片高亮变色的方法

首先使用到的是NGUI,

使用NGUI创建2D精灵

再为其创建一个子物体2D精灵

为这个父物体添加组件NGUI-TWEEN-ALPHA

Tween Alpha的设置如下所示

从1不透明到0透明

Play Style :Ping Pong 循环

Duration:3 seconds经历的时间为3S

可以发现父物体下面的子物体也跟随着变透明

然后创建两个NGUI 2D 精灵,添加Tween Alpha组件,发现是NGUI的Tween透明是有效果的

———————————————————————-

通过代码来改变2D精灵物体的透明度

transform.GetComponent<UI2DSprite>().material.color = new Color(1, 1, 1, (float)0.5);//NGUI的精灵

transform.GetComponent<SpriteRenderer>().material.color = new Color(1, 1, 1, (float)0.5);//UGUI的精灵

通过改变(float)0.5,来改变透明度,改变new Color(1, 1, 1, (float)0.5);里面的1,1,1来改变颜色

UGUI的2D精灵透明度设置如下图所示

NGUI的2D精灵透明度设置如下图所示

—————————————

那么Unity如何实现改变2D精灵图片物体的亮度呢

Unity如何实现改变2D精灵图片物体的高亮

transform.GetComponent<UI2DSprite>().material.color = new Color(1, 1, 1, (float)0.5);//NGUI的精灵

transform.GetComponent<SpriteRenderer>().material.color = new Color(1, 1, 1, (float)0.5);//UGUI的精灵

调整new Color(1, 1, 1, (float)0.5);里面的前三个数值就行了

通过更改RGB值可以调整颜色(0,0,1)变成了蓝色

transform.GetComponent<SpriteRenderer>().material.color = new Color((float)0, (float)0, (float)1, (float)0.5);

UGUI透明设置如下所示

使用PS创建了一个宽4*2高的像素白色,要和我的角色的单位像素对齐,至少SCALE要放大10倍

也可以创建40*20高的像素白色的.PNG图片

.PNG导入到Unity中,成为精灵

使其附加上我的测试代码VCXZV。CS

通过测试得到了皮肤的RGB值如下所示,195,147,128

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Sprites;
using UnityEngine.UI;

public class vcxzv : MonoBehaviour {
public int Rx = 195;
public int Gx = 147;
public int Bx = 128;
// Use this for initialization
void Start ()
{
transform.GetComponent<SpriteRenderer>().material.color = new Color((float)Rx/255, (float)Gx / 255, (float)Bx / 255, (float)1);

}
}

其实使用Unity来实现画画的功能,最简单的是通过代码改变像素图片的颜色,以及改变像素图片的渲染图集

Sorting Layer

Order in Layer

RGB颜色对照表