使用したUnityのバージョン:2020.3.30f1
透明にしたいゲームオブジェクトに下のコードのスクリプトをアタッチして、ゲームを開始し、スペースキーを押すとオブジェクトが透明になります。
Sprite Rendererがゲームオブジェクトにアタッチされていない時は、Add ComponentからSprite Rendererをアタッチしてください。
SpriteRenderer sr;
float transparency = 0.0f;
void Start()
{
sr = GetComponent<SpriteRenderer>();
}
void Update()
{
if (Input.GetKeyDown(KeyCode.Space))
{
sr.color = new Color(sr.color.r , sr.color.g , sr.color.b , transparency);
}
}
3行目のtransparencyの値を変更すれば、透明度合いを変えることができます。
すぐ透明になるのではなく、徐々に透明にするためにコルーチンを使います。
SpriteRenderer sr;
float cla;
float speed = 0.01f;
void Start()
{
sr = GetComponent<SpriteRenderer>();
}
void Update()
{
if (Input.GetKeyDown(KeyCode.Space))
{
cla = sr.color.a;
StartCoroutine(Display());
}
}
IEnumerator Display()
{
while(cla > 0f)
{
cla -= speed;
sr.color = new Color(sr.color.r , sr.color.g , sr.color.b , cla);
yield return null;
}
}
5行目のspeedの値を変更すれば透明になる速さを変更することができます。