Jump to content
Unity Insider Forum

Scroll rect funktioniert nicht wie gewollt


Mino1337

Recommended Posts

Hallo,

ich habe mir zum Thema "scroll rect" ziemlich viele Videos angesehen um es zu verstehen und alle sagen so ziemlich das gleiche. Was ich dann auch so gemacht habe.

Ich habe ein Canvas erstellt in das ich ein Gameobject mit der scroll rect Komponente hineingetan habe und in dieses habe ich ein Image getan welches den "content" beinhalten soll.

Meinen Inhalt habe ich per Script in das Image gefüllt:

public GameObject Scrollbar;

	//Erzeugt ein Archivement auf dem Bildschirm
    GameObject PrefabsErzeugen(GameObject GO, float ScaleX, float ScaleY, float PosX, float PosY, float Rot, string Text)
    {
        GameObject GOB = Instantiate(GO, new Vector3(PosX, PosY, -1), Quaternion.Euler(new Vector3(0, 0, Rot)));
        GOB.transform.localScale = new Vector3(ScaleX, ScaleY, 1);
        TextMeshProUGUI[] TMP = GOB.GetComponentsInChildren<TextMeshProUGUI>();
        TMP[1].SetText(Text);

        return GO;
    }
          
              void Start()
    {

        GameObject Test = new GameObject();
        Test.transform.SetParent(Scrollbar.transform, false);

        Test = PrefabsErzeugen(DreixP, 1, 1, 0.467f, 0.766f - 0 * 0.331f, 0, "60");
          
	}

Das ganze läuft in einem Script welches in einem Scriptcontainer ausgeführt wird und das Gameobject "Scrollbar" wird mit dem "content-Image" versorgt.

Wenn ich jetzt meine Szene mal starte kann ich wunderbar sehen wie in dem content-Image ein neues Gameobject drin ist. Das content-Image selbst kann ich dann auch schön hin und herschieben aber das Prefab welches ich per Script in das content-Image reingetan habe, das wird eingeblendet, bewegt sich aber nicht mit -.-   .

Ich hab ziemlich viel rumprobiert und hatte es irgendwie auch geschafft das sich das Prefab mitbewegt aber dann wurden die "TextMeshProUGUI"-Elemente nicht mit eingeblendet und es waren nur Bilder zu sehen.

 

Wäre schön wenn sich jemand meiner erbarmen könnte =D.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Die TextMeshProUGUI Elemente werden bei einer Scrollrect innerhalb einer Maske angezeigt. Wieso weiss ich nicht aber ohne werden sie nicht angezeigt. So hab ich mein Problem gelöst.

Damit die Scrollrect irgendwo anhält hab ich mir ein Script gebastelt welches das Gameobject welches meinen Content enthält an einer bestimmten Y-Position ist dann stoppe ich das Movement und setze das Gameobject an seine Endposition damit es nicht durch die Trägheit weiterscrollt.

        if(Content.transform.position.y > 0)
        {
            ScrollRect.StopMovement();
            Content.transform.position = new Vector3(0f, 0f, 0f);
            
        }

Meine Endposition ist 0 in diesem Fall.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Lädt...
×
×
  • Neu erstellen...