Ich Geschrieben 18. Juli 2017 Melden Share Geschrieben 18. Juli 2017 HalloWelt.GetComponent<Image>().CrossFadeAlpha(0, 1.5f, false); Ich möchte sagen, wenn CrossFadeAlpha gleich 0 ist, dann soll Debug.log ("Bild ist nicht mehr sichtbar") in der Console kommen, wenn ihr versteht was ist meine. Ist das möglich? Danke im voraus Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Mark Geschrieben 18. Juli 2017 Melden Share Geschrieben 18. Juli 2017 Description: Zitat Tweens the alpha of the CanvasRenderer color associated with this Graphic. https://docs.unity3d.com/460/Documentation/ScriptReference/UI.Graphic.CrossFadeAlpha.html Ich würde also hier schauen: https://docs.unity3d.com/460/Documentation/ScriptReference/CanvasRenderer.GetAlpha.html Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Ich Geschrieben 18. Juli 2017 Autor Melden Share Geschrieben 18. Juli 2017 Ok danke. Ich habe jetzt gesagt wenn GetAlpha = 0 ist das sich das Gamobject deaktiviert und wenn GetAlpha > 0 ist das es sich wieder Aktiviert. Das problem jetzt aber ist, dass wenn das Gamobject sich De- oder Aktiviert, wird GetAlpha = 1... ist das normal, wenn ja ist es möglich das wenn es De- und wieder Aktiviert wird die Zahlen behält. Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
GoldBaercheN Geschrieben 18. Juli 2017 Melden Share Geschrieben 18. Juli 2017 poste mal deinen Code Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Ich Geschrieben 18. Juli 2017 Autor Melden Share Geschrieben 18. Juli 2017 void Update(){ Void_Search_Anim(); Void_Search_A(); } void Void_Search_Anim() { if (Suche == true) { Tex_Search.GetComponent<Text>().CrossFadeAlpha(1, 0.3f, true); Tex_Search_Out.GetComponent<Text>().CrossFadeAlpha(1, 0.3f, true); } else if (Suche == false) { Tex_Search.GetComponent<Text>().CrossFadeAlpha(0, 0.3f, true); Tex_Search_Out.GetComponent<Text>().CrossFadeAlpha(0, 0.3f, true); } } void Void_Search_A() { if (cr_Tex_Search[0].GetAlpha() == 0) { Debug.Log("False: " + cr_Tex_Search[0].GetAlpha()); Tex_Search.SetActive(false); Tex_Search_Out.SetActive(false); } else if (cr_Tex_Search[0].GetAlpha() > 0) { Debug.Log("True: " + cr_Tex_Search[0].GetAlpha()); Tex_Search.SetActive(true); Tex_Search_Out.SetActive(true); } } Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Ich Geschrieben 20. Juli 2017 Autor Melden Share Geschrieben 20. Juli 2017 ? Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Zer0Cool Geschrieben 20. Juli 2017 Melden Share Geschrieben 20. Juli 2017 Ich denke es ist normal. Du kannst aber einen beliebigen Alphawert setzen, wenn das Objekt aktiviert wird. Tex_Search.SetActive(true); Tex_Search.SetAlpha(0.01f); Du solltest bei deinem Code deine Images und den Canvasrenderer besser voneinander trennen. Wenn beide Images auf dem gleichen Canvas liegen, musst du CrossFadeAlpha() nur 1x aufrufen. Ich bin mir auch nicht sicher, ob CrossFadeAlpha() korrekt arbeitet, wenn du das Objekt "Tex_Search" (an dem dein Canvas hängt!?) deaktivierst, normalerweise sollte man das nicht tun. Hier noch ein Skript welches du an ein Image hängen kannst und welches einen bestimmten Alphawert setzt sobald es aktiviert wird (man könnte es auch direkt unter das Canvas hängen und den Imagepart weglassen). Allerdings wirkt sich das wiederum auf das gesamte Canvas aus (dem das Image untergeordnet ist) und nicht auf das Image! Das gilt auch für die CrossFadeAlpha-Funktion, die wirkt sich immer auf das gesamte Canvas aus. public float startAlpha = 0f; private Image m_Image; private CanvasRenderer m_CanvasRenderer; public class SetAlphaImage : MonoBehaviour { void Start() { m_Image = GetComponent<Image>(); m_CanvasRenderer = m_Image.GetComponent<CanvasRenderer>(); m_CanvasRenderer.SetAlpha(startAlpha); } void OnEnable() { m_CanvasRenderer.SetAlpha(startAlpha); } } Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Recommended Posts
Archiviert
Dieses Thema ist jetzt archiviert und für weitere Antworten gesperrt.