- Home /
Problem is not reproducible or outdated
Fade In/out issue about a gameobject
hello friends I have a diffucult issue. If anyone help me it will be appreciated
I have a gameobject as sprite I have a dropdown list -Fade In -Fade out
and I have a button to work
I tred these function for 2 ways but not successfull
1- IENumerator 2-Color.Lerp
1- /////////////
using System.Collections; using System.Collections.Generic; using UnityEngine;
public class Lastfade : MonoBehaviour { SpriteRenderer element; bool selected = true; float ali, veli, f; void Start() { element = GetComponent(); }
IEnumerator fadein()
{
Color c = element.material.color;
c.a = ali;
element.material.color = c;
for (f = 0f; f <= 1; f += 0.05f)
{
//Color c = element.material.color;
c.a = ali;
element.material.color = c;
yield return new WaitForSeconds(0.05f);
}
}
IEnumerator fadeout()
{
for (f = 1f; f >= -0.05f; f -= 0.05f)
{
Color c = element.material.color;
c.a = veli;
element.material.color = c;
yield return new WaitForSeconds(0.05f);
}
}
public void FadeAyar(int val)
{
if (val == 0)
{
Debug.Log("Please choose option!");
}
else if (val == 1)
{
selected = true;
ali = 0f;
}
else if (val == 2)
{
selected = false;
veli = f;
}
else if (val == 3)
{
//Bakılacak
}
}
public void startFadeIn()
{
if (selected == true)
{
StartCoroutine("fadein");
}
else if (selected=false)
{
StartCoroutine("fadeout");
}
}
}
2- /////////////
using System.Collections; using System.Collections.Generic; using UnityEngine;
public class Fadework : MonoBehaviour { float speed = 1f;
public Color alphaV0, alphaV1; //from inspector on color tab, alphaV0= all slider to left, alphaV1= all sliders to right
Color startColor, endColor;
float startTime;
bool selected = false;
private void Start()
{
startTime = Time.time;
}
public void FadeOption(int val)
{
if (val == 0)
{
Debug.Log("Please choose option!");
}
else if (val == 1)
{
startColor = alphaV0;
endColor = alphaV1;
}
else if (val == 2)
{
startColor = alphaV1;
endColor = alphaV0;
}
else if (val == 3)
{
//Bakılacak
}
}
public void GenerateButton()
{
selected = true;
float t = (Time.time - startTime) * speed;
GetComponent<Renderer>().material.color = Color.Lerp(startColor, endColor, t);
}
private void Update()
{
if (selected == true)
{
GenerateButton();
}
}
}
Follow this Question
Related Questions
Fading out a transparent material 1 Answer
Fading out doesn't fade out, but instantly goes from black to clear 0 Answers
Fading all but single instance of a button 1 Answer
Shader is not displaying alpha correctly 0 Answers
Alpha not displaying when changed in code, unless changed manually in the inspector 0 Answers