peachplayer Geschrieben 12. November 2018 Melden Share Geschrieben 12. November 2018 Hallo Leute Weiss jemand wie man ein Textfeld in Unity vergrössern(scalen) kann? Habe es wie folgt versucht: public class Zoom : MonoBehaviour { public float zoomSpeed; public Text percentageText; // Use this for initialization void Start() { percentageText = GetComponent<Text>(); } // Update is called once per frame void Update() { if (Input.GetAxis("Mouse ScrollWheel") < 0) { percentageText.transform.localScale += new Vector3(2.0f * zoomSpeed, 2.0f * zoomSpeed,0.0f); } if (Input.touchCount < 0) if (Input.GetAxis("Mouse ScrollWheel") > 0) { percentageText.transform.localScale -= new Vector3(-0.5f * zoomSpeed, -0.5f * zoomSpeed, 0.0f); } } } Der Code funktioniert zwar, jedoch ist das Ergebnis nicht gerade optimal. Gruss, peachplayer Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Sascha Geschrieben 12. November 2018 Melden Share Geschrieben 12. November 2018 Generell: Versuche mal, zu sagen was passieren soll, und was stattdessen passiert. "Funktioniert nicht" ist immer etwas wenig, um das Problem zu verstehen. Ich nehme aber mal an, du möchtest das UI-Element größer haben und nicht "verzerrt". Ändere mal die Größe des Elements im Editor, per Hand - und schaue dabei auf die Scale-Eigenschaft im Inspektor. Die ändert sich dabei gar nicht. Das ist allerdings die Eigenschaft, die man mit localScale ändert. Was du stattdessen änderst, sind die oberen Werte (Left, Right, Top, Bottom bzw. Width oder Height). Um die zu ändern, brauchst du RectTransform.SetSizeWithCurrentAnchors. In der Regel ist es aber empfehlenswert, stattdessen alles über Layouting-Komponenten und geschickt gesetzte Anker zu machen. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.