Wie behebe ich in Unity den Fehler CS1061 ('Player' does not contain a definition for 'GetPosition' ...)?

Ich programmiere erst seit ein paar Wochen und habe mithilfe von YouTube und dem Internet mich durch Stunden des Codens und ähnlichem geboxt.

Doch nun, nachdem ich mein erstes wirkliches Projekt gestartet habe, stoppt mich nun der Fehler

CS1061:Assets/LevelGenerator.cs(28,45): error CS1061: 'Player' does not contain a definition for 'GetPosition' and no accessible extension method 'GetPosition' accepting a first argument of type 'Player' could be found (are you missing a using directive or an assembly reference?).

Es wäre superduper megamäßig cool, wenn sich jemand meganettes meinen Code ansehen könnte, um mir zu sagen was mein Fehler ist.

Dankeschön an jeden, der sich die Zeit nimmt, um mir zu helfen. Dankeschön. 😃

Hier nun mein Code (er soll eine unendliche Welt generieren):

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class LevelGenerator : MonoBehaviour {
  private const float PLAYER_DISTANCE_SPAWN_LEVEL_PART = 200f;

  [SerializeField]
  private Transform levelPart_1;

  [SerializeField]
  private Transform levelPart_Start;

  [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++)
    {
    }
  }

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

  private void SpawnLevelPart()
  {
    Transform lastLevelPartTransform = SpawnLevelPart(lastEndPosition);
    lastEndPosition = lastLevelPartTransform.Find("EndPosition").position;
  }

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

PS.: Danke an jeden, der hilft oder sich das hier auch nur wenigstens durchliest. 😃

...zur Frage

Du musst in deinem Player Script erstmal deinem player eine Instanz geben

" private Player instance;"(die musst du nach dem Script benennen)

die musst du dann noch in der Awake Funktion(müsste aber auch bei der Start Funktion gehen, hab ich nie getestet) deinem Spieler zuweisen:

 instance=this;

zudem brauchst du noch das hier:

 public Vector3 GetPosition()

  {

    return transform.position;

  }, dann sollte das gehen.

Hättest du aber auch heraus gefunden, wenn du dir in dem Projektordner von "CodeMonkey" mal die anderen Scripts angeschaut hättest, nur als Hinweis, falls du weitere Tutorials von ihm schaust :)

...zur Antwort

Es geht aber dann meistens in der Beziehung verlieren wir dat Interesse. Einfach weil es mir und Freunden irgendwann auf’m sack geht

...zur Antwort
Weitere Inhalte können nur Nutzer sehen, die bei uns eingeloggt sind.