- Home /
Changing the opacity of a 2D sprite on trigger
Hi folks. I'm fairly new to coding, I'm still trying to develop that logic of thinking to help me create the solutions I'm wanting for games. Currently, I'm trying to create a 2D gameobject that's a wall hiding a secret door. I want that gameobject to fade out (about 90%) when the player GO triggers it, revealing the space behind and the hidden door. So far, I've managed to figure out how to render the GO inactive on the trigger, so it disappears, but this doesn't produce the visual that I'm going for. As I said, I'm still working on developing that coder's way of thinking, so while I've done a lot of research to solve this problem, many of the suggestions and ideas I don't readily understand.
Here's my code, if anyone has any useful tips or ideas, or has done this before, I'd love to hear from you! Thanks. :D
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class SecretDoor1 : MonoBehaviour {
public float alphaLevel;
void OnTriggerEnter2D (Collider2D SecretDoorTrig) {
if (SecretDoorTrig.gameObject.tag == "Player") {
GetComponent<SpriteRenderer> ().enabled = false;
}
else {
GetComponent<SpriteRenderer> ().enabled = true;
}
}
void OnTriggerExit2D (Collider2D SecretDoorTrig) {
if (SecretDoorTrig.gameObject.tag == "Player") {
GetComponent<SpriteRenderer> ().enabled = true;
}
else {
GetComponent<SpriteRenderer> ().enabled = false;
}
}
}
Answer by Mergster · Jul 05, 2017 at 11:21 PM
There's two was you could do this. Either have an animation(of the opacity going down) or do it in script.
Pragma script:
float speed = .01f; //the speed that your alpha changes
Color color = renderer.material.color;
color.a -= speed;
renderer.material.color = color;
Your answer
![](https://koobas.hobune.stream/wayback/20220612125602im_/https://answers.unity.com/themes/thub/images/avi.jpg)
Follow this Question
Related Questions
Can't click gameobject when over another trigger? 1 Answer
Tilemap Renderer problem generating random sprite Tiles 0 Answers
If trigger hit, spawn it 1 Answer
rotate sprite around shape 0 Answers
Delay audio collisions 1 Answer