Wie kann ich das ("Top-level statements must precede namespace and type declarations") fixen?
Das kommt, wenn ich spielen will:
Assets\PipeSpawner.cs(33,9): error CS8803: Top-level statements must precede namespace and type declarations.
Aber es geht nicht.
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class PipeSpawner : MonoBehaviour
{
public GameObject pipe;
public float spawnRate = 2;
public float timer = 0;
// Start is called before the first frame update
void Start()
{
spawnPipe();
}
// Update is called once per frame
void Update()
{
if (timer < spawnRate)
{
timer = timer + Time.deltaTime;
}
else
{
spawnPipe();
timer = 0;
}
}
void spawnPipe();
}
{
float lowestPoint = transform.position.Y - heigthOffset;
float highestPoint = transform.position.y + heigthOffset;
Instantiate(pipe, new Vector3 (transform.position.x, Random.Range(lowestPoint,highestPoint), 0),transform.rotation);
}
Kann mir jemand sagen, was falsch ist?
1 Antwort
Nutzer, der sehr aktiv auf gutefrage ist
Bei der Deklarierung der spawnPipe-Methode Methode darf nach dem Klammer der Parameter kein Semikolon sein sonst wird die Deklarierung dort beendet und der Methodenkörper wird nicht erkannt.
Da zusätzlich noch eine Geschweifteklammer-zu nach nach dem Methodenkörper von spawnPipe steht wird die Klasse PipeSpawner dort beendet und der Restliche Code wird als Top-Level Statement interpretiert welches eine eigene Datei bekommen muss.
Welche IDE/Editor nutzt du? Eigentlich müsste das sofort auffallen da dort die Code Formatierung überhaupt nicht hinhaut.
Woher ich das weiß:Hobby – Ich programmiere seit 3 Jahren mit C#