Jump to content
Unity Insider Forum

Vector3


Paulk1611

Recommended Posts

Frage:Wie kann ich das machen das es alles auf einer geraden Linie generiert wird und nicht nur nach unten739187920_Bildschirmfoto2021-03-17um17_30_35.thumb.png.77fd54ecb7d42750fc8d729a0f7481f0.png

Meine dazugehörigenscripts

 private static Player instance;

    [SerializeField] private LayerMask platformsLayerMask;
    private Rigidbody2D rigidbody2d;
    private BoxCollider2D boxCollider2d;


    private void Awake()
    {
        instance = this;
        rigidbody2d = transform.GetComponent<Rigidbody2D>();
        boxCollider2d = transform.GetComponent<BoxCollider2D>();

    }

    public Vector3 GetPosition()
    {
        return transform.position;
    }

Script 2:

private const float PLAYER_DISTANCE_SPAWN_LEVEL_PART = 200f;

    [SerializeField] private Transform levelPart_Start;
    [SerializeField] private List<Transform> levelPartList;
    [SerializeField] private Player player;

    private Vector3 lastEndPosition;

    private void Awake() {
        lastEndPosition = levelPart_Start.Find("EndPosition").position;

        int startingSpawnLevelParts = 5;
        for (int i = 0; i < startingSpawnLevelParts; i++) {
            SpawnLevelPart();
        }
    }

    private void Update() {
        if (Vector3.Distance(player.GetPosition(), lastEndPosition) < PLAYER_DISTANCE_SPAWN_LEVEL_PART) {
            // Spawn another level part
            SpawnLevelPart();
        }
    }

    private void SpawnLevelPart() {
        Transform chosenLevelPart = levelPartList[Random.Range(0, levelPartList.Count)];
        Transform lastLevelPartTransform = SpawnLevelPart(chosenLevelPart, lastEndPosition);
        lastEndPosition = lastLevelPartTransform.Find("EndPosition").position;
    }

    private Transform SpawnLevelPart(Transform levelPart, Vector3 spawnPosition) {
        Transform levelPartTransform = Instantiate(levelPart, spawnPosition, Quaternion.identity);
        return levelPartTransform;
    }
 

 

Link zu diesem Kommentar
Auf anderen Seiten teilen

Und noch schneller geht's wenn du jemand 20.000€ in die Hand drückst und sagst "mach Mal!" Ich tippe auf Vector3 das 3 zahlen hat. Eine für x eine für y und eine für Z Position. Eine ist für rechts/links eine für hoch/runter und eine für vor/zurück die man für 2D Spiele eigentlich nicht brauch. Kennst du Debug.Log();? In den Klammern kann man Variablen oder Objekte eintragen und die darin stehenden Daten in der Konsole anzeigen lassen. Ändert sich vom Vector3 Variablen mehr wie ein Wert, ist da der Fehler zu suchen.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Am 17.3.2021 um 21:10 schrieb Sir_Mathew:

Und noch schneller geht's wenn du jemand 20.000€ in die Hand drückst und sagst "mach Mal!" Ich tippe auf Vector3 das 3 zahlen hat. Eine für x eine für y und eine für Z Position. Eine ist für rechts/links eine für hoch/runter und eine für vor/zurück die man für 2D Spiele eigentlich nicht brauch. Kennst du Debug.Log();? In den Klammern kann man Variablen oder Objekte eintragen und die darin stehenden Daten in der Konsole anzeigen lassen. Ändert sich vom Vector3 Variablen mehr wie ein Wert, ist da der Fehler zu suchen.

Ich habs Jetzt geschafft aber es funktioniert trotzdem nicht.

Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 35 Minuten schrieb chrische5:

Hallo

 

Was hast du geschafft? Und was funktioniert nicht?

Du solltest lernen, konkretere Fragen zu stellen. 

 

Christoph 

Ich habe es geschafft das es generiert wird allerdings wird es anders und falsch gemacht genauer beschreib ich es jetzt nicht da ich keine Hilfe bis Jetzt brauche wenn dann würde ich es konkreter fragen.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo,
bitte deute das Folgende nicht falsch, aber versuch doch einige Regeln des Miteinander einzuhalten:
- Wie @malzbie schon geschrieben hat, ist es unheimlich schwierig deine Texte zu lesen. Das liegt zum einen an den fehlenden Satzzeichen, zum anderen an deiner verwirrenden Groß- und Kleinschreibung und daran, dass du warscheinlich genauso drauflosschreibst, wie du sprichst. Versuch daran mal zu arbeiten, damit die Menschen, welche in Ihrer Freizeit hier helfen, nicht erst raten müßen, wass du meinst.
- "
Ich habs Jetzt geschafft aber es funktioniert trotzdem nicht." Dir ist schon klar, dass dieser Satz ein Widerspruch darstellt: "geschafft" und "funktioniert ... nicht" passt nicht zusammen. Überleg bitte, was du uns eigendlich mitteilen möchtest.
- Wenn du etwas "geschafft" hast, teile uns bitte mit, was du nun geändert hast um zu diesem geänderten Ergebnis zu kommen und teile  und gleich mit, wie dieses Ergebnis nun aussieht.
- Wenn etwas "trotzdem nicht" funktioniert, benötigen die Menschen hier genaue Angaben, was nicht funktioniert. Das kann alles sein von "Programm stürzt immer ab", über "die Plattformen sind zu weit auseinander" bis hin zu "das Grün ist nicht richtig".
- Schon deine erste Frage "Wie kann ich das machen das es alles auf einer geraden Linie generiert wird und nicht nur nach unten" birgt so viele Möglichkeiten der Interpretation: was ist überhaupt dein Ziel?  Wo soll diese Linie sein?  Was ist mit "alles" gemeint?  Auf dem Bild wandern die Platformen doch zwischendurch wieder nach oben, oder nicht? Wieso setzt du die Plattformen nicht im Vorfeld, sondern willst sie erst zur Laufzeit des Spiel generieren?

Wie in deinen anderen Beiträgen dir schon häufig mitgeteilt wurde: tu dir selber einen Gefallen und fang von Vorne an zu lernen.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Archiviert

Dieses Thema ist jetzt archiviert und für weitere Antworten gesperrt.

×
×
  • Neu erstellen...