- Home /
 
Sprite smooth fade out/in
Hi, So I wrote a little code for my sign to "Smoothly fade out/in".
Sprite appears and disappears as intended however it doesn't fade smoothly.
 void Start () {
     myTrigger = GetComponent<Collider2D>();
     booble = whichSpriteToFade.GetComponent<SpriteRenderer> ();
 }
 void Update(){
     isTouchingSign = Physics2D.IsTouchingLayers (myTrigger, whoIsPlayer);
     if (isTouchingSign) {
         Debug.Log ("Is touching sign it's fading in");
         fade = Mathf.SmoothDamp (0f, 100f, ref fadespeed, fadeTime);
         booble.color = new Color (1f, 1f, 1f, fade);
     } else {
         Debug.Log ("Is not touching sign it's fading out");
         fade = Mathf.SmoothDamp (100f, 0f, ref fadeoutspeed, -fadeTime);
         booble.color = new Color (1f, 1f, 1f, fade);
     }
 }
 
               }
Answer by MacDx · Sep 29, 2017 at 09:14 PM
The problem is that, just like RGB values, the alpha value goes from 0 to 1. However, you are trying to make it go from 0 to a 100 so you will never actually see the fading , since the only values that matter go from 0 to 1 but you are basically skipping that. So replace the 100f with a 1f inside your SmoothDamp functions.
@VIPU$$anonymous$$S
I did that however sprite only gets the first value which is 0.16 a and stops there.
Well, that's probably because nowhere in your code are you adding/substracting to/from your fadeTime variable. If you never change that value the SmoothDamp function will always return the same value.
Answer by VIPUKS · Sep 30, 2017 at 09:24 AM
I did that however sprite only gets the first value which is 0.16 a and stops there.
Your answer
 
             Follow this Question
Related Questions
Fade out sprite on click 4 Answers
Fade In / Out UI Image 3 Answers
Changing a GUITexture's alpha gives me no effect in game. 0 Answers
Fade logo before main menu 2 Answers
Fade in with CrossFadeAlpha 1 Answer