Jump to content
Unity Insider Forum

ShiiikK

Newbie
  • Posts

    3
  • Joined

  • Last visited

ShiiikK's Achievements

Newbie

Newbie (1/3)

0

Reputation

  1. Zunächst einmal habe ich ein GIF erstellt, um zu zeigen, wie es aktuell bei mir aussieht. GIF zur aktuellen Lage und ein Bild wie es aussehen sollte. Bild wie es sein sollte Ich habe eine Liste von GameObjects, die die BodyParts Temporär hinzufügen und in der richtigen Zeit und Position instanziieren. Jetzt funktioniert das wie erwartet, aber ich möchte das neue bodyParts unter einander spawnen statt darüber. Man kann erkennen das der Kopf "unter" den neuen Körperteilen erscheint, aber er sollte immer oben sein und jedes neue Körperteil sollte unter einander erscheinen. **Was ich versuchte:** : ``` bodyParts.transform.SetAsFirstSibling(); ``` Das verändert aber nur die Hierarchie Anordnung, den selben Effekt habe ich auch wenn ich die Clone manuell verschiebe, das hat aber keinen Einfluss darauf ob etwas übereinander oder untereinander erscheint. Daher hat das für mich nicht funktioniert. Ich weis das es möglich ist, schließlich nutze ich ein bereits bestehendes Unity Game als Vorlage nutze zu meinen Lernzwecken. Hoffe hier ist jemand der sowas in der Art schon gelöst hat. **Hier mein Code der die bodyParts erstellt:** private void CreateBodyParts() { if (snakeBody.Count == 0) { GameObject temp1 = Instantiate(bodyParts[0], transform.position, transform.rotation, transform); if (!temp1.GetComponent<MarkerManager>()) temp1.AddComponent<MarkerManager>(); if (!temp1.GetComponent<Rigidbody2D>()) { temp1.AddComponent<Rigidbody2D>(); temp1.GetComponent<Rigidbody2D>().gravityScale = 0; } snakeBody.Add(temp1); bodyParts.RemoveAt(0); } MarkerManager markM = snakeBody[snakeBody.Count - 1].GetComponent<MarkerManager>(); if (countUp == 0) { markM.ClearMarkerList(); } countUp += Time.deltaTime; if (countUp >= distanceBetween) { GameObject temp = Instantiate(bodyParts[0], markM.markerList[0].position, markM.markerList[0].rotation, transform); if (!temp.GetComponent<MarkerManager>()) temp.AddComponent<MarkerManager>(); if (!temp.GetComponent<Rigidbody2D>()) { temp.AddComponent<Rigidbody2D>(); temp.GetComponent<Rigidbody2D>().gravityScale = 0; } snakeBody.Add(temp); bodyParts.RemoveAt(0); temp.GetComponent<MarkerManager>().ClearMarkerList(); countUp = 0; } }
×
×
  • Create New...