Jump to content
Unity Insider Forum

ReneT

Newbie
  • Posts

    2
  • Joined

  • Last visited

ReneT's Achievements

Newbie

Newbie (1/3)

0

Reputation

  1. Vielen Dank für die schnelle Antwort Es hat geklappt. Ich habe den Pivot Punkt (wenn das so richtig formuliert ist) auf die Mitte des Elementes gesetzt (einmal beim Slot und einmal bei den Wörtern). Dann hat es geklappt :). Dann musste ich aber noch den Anchor nach Links setzen, damit sich die Elemente bei einer unterschiedlichen Smartphone-Höhe nicht merkwürdig verschoben werden. Ich habe immer in allen Situationen beide gleichzeitig gesetzt und nicht für beide etwas eigenes genommen xD. Ich habe auch sicherheitshalber die localPosition verwendet, da das für mich mehr Sinn macht. Vielen Dank und viele Grüße René
  2. Guten Morgen liebes Forum, ich bin gerade dabei ein Lernspiel mit Unity zu programmieren. Dabei soll der Schüler einen Lückentext per Drag and Drop mit entsprechenden Wörtern füllen. Das Problem ist, dass das Drag and Drop funktioniert, aber die Koordinaten falsch gesetzt werden. Ich erläutere einmal kurz den Aufbau: Ich habe auf einem Canvas ein leeres GameObjekt, unter welchem alle UI-Elements als Childs enthalten sind. Es gibt normale Text-Elemente, Panels für die Lücken und Panels mit einem Text als Child für die "Lückenfüller". Wenn ich jetzt ein Textbaustein auf eine meiner Panel-Lücken ziehe, wird dieses genau über der Lücke eingefügt und nicht in die Lücke. Wenn ich versuche die Koordinaten der jeweiligen Elemente auszugeben, steht da auch, dass beide dieselben Koordinaten haben. Die Koordinaten die ausgegeben werden stimmen aber auch nicht mit den Koordinaten im Editor überein. Schon wenn ich die Koordinaten der Lücken in der Start Methode ausgeben lasse, sind dort andere Koordinaten, als ich im Editor stehen habe. ganz Merkwürdig Hier noch der Quelltext von dem Skript: using UnityEngine; using UnityEngine.EventSystems; public class DraggableSlot : MonoBehaviour, IPointerEnterHandler { void Start() { Debug.Log(gameObject.name + ": " + gameObject.transform.position); //ausgeben der Koordinaten stimmt nicht mit dem Editor überein } public void OnPointerEnter(PointerEventData eventData) { if(eventData.pointerDrag != null) //Wenn ich etwas über die Lücke ziehe und nicht einfach mit der Maus drüber gehe { eventData.pointerDrag.GetComponent<DraggableItem>().stopMoving(); //Sorge dafür, dass das Wort nicht mehr bewegt werden kann eventData.pointerDrag.transform.position = gameObject.transform.position; //"snappt" das Word auf das Panel //Die Positionen stimmen im Nachhinein laut den 2 nächsten Zeilen überein. Debug.Log("Drag: " + eventData.pointerDrag.transform.position); Debug.Log(gameObject.name + ": " + gameObject.transform.position); } } } Auch Merkwürdig, dass wenn ich ein Wort zu der Lücke bewege, das Element so verrutscht, dass die obere linke Ecke auf meiner Maus drauf ist. Die Gleichen Skripte verwende ich ebenfalls vorher, wo ich Bilder auf Panels drauf bewege, das klappt wunderbar. Liegt es an der Kombination von Panel und Text als Child? Ich hoffe ihr könnt mir weiterhelfen. Viele Grüße René
×
×
  • Create New...