2016-09-21 3 views
0

Nehmen wir an, ich habe ein Textobjekt mit Punkten gefüllt (............). Lassen Sie uns auch sagen, dass ich ein anderes Textobjekt als Kind des ersten Textobjekts mit dem Inhalt foo anlege.Zeichne keinen übergeordneten Inhalt

Zwischen jedem Leerzeichen in den Buchstaben foo sind die Punkte des übergeordneten Elements deutlich sichtbar. Gibt es eine Möglichkeit, den Inhalt des Elternteils zu filtern?

Beispiel:

enter image description here

Ich mag den halbtransparenten weißen Scroll-Panel und das Sechseck Hintergrundbild halten, aber ich mag die Punkte hinter den Zahlen 4500 entfernen.

Antwort

1

ich stattdessen eine horizontale Layout mit Gruppe

  • Parent (Objekt nur mit dem HorizontalLayoutGroup)
    • Kind Objekt 1 vorschlagen würde: enthält Ihr ....
    • Kind Objekt 2: Enthält Ihre "foo" oder Zahlen

Der p arent hat die Gesamtgröße Ihres aktuellen Elternobjekts (Gesamtbreite)

Wenn Sie den Text von Child2 einstellen, wird die Größe automatisch angepasst, wodurch die zusätzlichen "Punkte" effektiv ausgeblendet werden.

Keine besonderen Hacks erforderlich

Link zu Ihnen den Einstieg: https://docs.unity3d.com/Manual/script-HorizontalLayoutGroup.html

+0

ich versucht, aber es funktioniert nicht wie erwartet. Wenn ich im ersten Textobjekt genügend Punkte hinzufüge, werden sie möglicherweise hinter dem zweiten Textobjekt angezeigt. – alexandernst

+0

Im Verhalten "Text" können Sie festlegen, dass die überlaufenden Zeichen ausgeblendet werden, haben Sie das versucht (Horizontal = Wrap und Vertical = Truncate)? Links: https://docs.unity3d.com/ScriptReference/UI.Text-horizontalOverflow.html und https://docs.unity3d.com/ScriptReference/UI.Text-verticalOverflow.html –

+0

Es gibt keine solche Option für horizontale . Es gibt nur einen Überlauf (der genau das Gegenteil von dem ist, was ich will) oder einen Zeilenumbruch, der die "zusätzlichen" Punkte zu einer neuen Zeile bewegt. – alexandernst