Jump to content
Unity Insider Forum

Alex W

Members
  • Content count

    5
  • Joined

  • Last visited

Community Reputation

0 Neutral

About Alex W

  • Rank
    Newbie

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. Hey, ich habe ein Generator Script, wo immer 3 Objekte übereinander (y-Achse) unedlich lang(x-Achse) gespawnt werden. Nun möchte ich, dass immer nur 1 Objekt pro y-Achse gespawnt wird. Also das immer zufällig einer von den drei Punkten ausgewählt wird und niemals 2 oder 3 spawnen. Könnt ihr mir helfen? Ich bitte um Codezeilen die ich hinzufügen kann, da ich noch nicht so erfahren bin. Danke! Generator Script: using System.Collections; using System.Collections.Generic; using UnityEngine; public class Generator : MonoBehaviour { public GameObject thePlatform; public Transform generationPoint; public float distanceBetween; private float platforemWidth; public float distanceBetweenMin; public float distanceBetweenMax; // Use this for initialization void Start () { platforemWidth = thePlatform.GetComponent<BoxCollider2D> ().size.x; } // Update is called once per frame void Update () { if (transform.position.x < generationPoint.position.x) { distanceBetween = Random.Range (distanceBetweenMin, distanceBetweenMax); transform.position = new Vector3 (transform.position.x + platforemWidth + distanceBetween, transform.position.y, transform.position.z); Instantiate (thePlatform, transform.position, transform.rotation); } } }
  2. Hi, ich möchte in einem Script sagen, dass man Spieler, wenn man auf einen Touchscreen nach oben wischt, dieser sofort sagen wir mal y + 3 nach oben teleportiert wird. Genau das gleiche wenn man nach unten wischt, nur y -3. Wie mach ich 1. das wischen und 2. das der Spieler sofort auf der anderen höhe erscheint? Danke schonmal im vorraus! Mein Player Script sieht momentan so aus: using System.Collections; using System.Collections.Generic; using UnityEngine; public class PlayerControls : MonoBehaviour { Rigidbody2D m_Rigidbody2D; float m_Speed; public float m_SpeedMultiplier; public float m_SpeedIncreaseMilestone; private float m_SpeedMilestoneCount; // Use this for initialization void Start () { m_Rigidbody2D = GetComponent<Rigidbody2D> (); m_Speed = 5f; m_SpeedMilestoneCount = m_SpeedIncreaseMilestone; } // Update is called once per frame void Update () { m_Rigidbody2D.velocity = Vector2.right * m_Speed; if (transform.position.x > m_SpeedMilestoneCount) { m_SpeedMilestoneCount += m_SpeedIncreaseMilestone; m_SpeedIncreaseMilestone = m_SpeedIncreaseMilestone * m_SpeedMultiplier; m_Speed = m_Speed * m_SpeedMultiplier; } } }
  3. OK vielen dank nochmal. Und wie mache ich es, dass nicht alle gleichzeitig auf einer höhe spawnen? Also das man quasi 3 festgelegte linien hat wo potenziell welche spawnen können, jedoch immer nur auf einer Linie eine Plattform ist. Also, dass auf den gleichen y Punkt immer nur eine platform ist, dass nach sagen wir nach y+ 10 wieder random eine platform auf eine der 3 höhen spawnt? Ich danke schonmal für die Hilfe bin leider noch nicht so erfahren.
  4. Vielen Dank für die schnelle Antwort!
  5. Hallo, ich möchte einen endless runner machen, wo es 3 verschiedene höhen gibt, wo objekte spawnen sollen. Mein problem ist, dass ich nicht weiß wie das geht. Im Internet finde ich immer nur tutorials, wo Objekte random gespawnt werden. Das möchte ich nicht. Im folgenden Script spawnen die Objekte alle auf der gleichen höhe, aber schon unendlich lang. Ich bitte um hilfe, dass mir jemand sagen kann, wie ich die Spawnhöhen für die Objekte bestimmen kann. using System.Collections; using System.Collections.Generic; using UnityEngine; public class Generator : MonoBehaviour { public GameObject thePlatform; public Transform generationPoint; public float distanceBetween; private float platforemWidth; public float distanceBetweenMin; public float distanceBetweenMax; // Use this for initialization void Start () { platforemWidth = thePlatform.GetComponent<BoxCollider2D> ().size.x; } // Update is called once per frame void Update () { if (transform.position.x < generationPoint.position.x) { distanceBetween = Random.Range (distanceBetweenMin, distanceBetweenMax); transform.position = new Vector3 (transform.position.x + platforemWidth + distanceBetween, transform.position.y, transform.position.z); Instantiate (thePlatform, transform.position, transform.rotation); } } }
×