Jump to content
Unity Insider Forum

Finde die Fehlerquelle nicht


Damian izz back

Recommended Posts

Guten Tag

Ich habe ein wahrscheinlich typisches Anfängerproblem. Ich habe versucht mir ein bewegungscript für meinen Spielcharakter zu programmieren, aber es tauchen Fehler auf die mich nicht in den Gamemode rein lassen. Mein eigentliches Problem sind die Errors CS1061 (2x) und Error CS0029. Wahrscheinlich habe ich etwas übersehen, aber wenn ich die Empfehlungen von Visual Studio einhalte, gibt es nur noch mehr Fehler 😕 Was kann ich dagegen tun? Bin ein wenig aufgeschmissen :(. 

 

Hier ist der Code:

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

public class Player : MonoBehaviour
{

    private Animator anim;
    private CharakterController controller;
    public float speed = 6.0f;
    public float turnSpeed = 60.0f;
    private Vector3 moveDirection = Vector3.zero;
    public float gravity = 20.0f;


    // Start is called before the first frame update
    void Start()
    {
        anim = gameObject.GetComponentInChildren<Animator>();
        controller = GetComponent<CharacterController>();

    }

    // Update is called once per frame
    void Update()
    {
        if (Input.GetKey("right"))
        {
            anim.SetInteger("AnimPar", 1);
        }
        else
        {
            anim.SetInteger("AnimPar", 0);
        }

        if (controller.isGrounded)
        {
            moveDirection = transform.forward * Input.GetAxis("Vertical") * speed;
        }

        float turn = Input.GetAxis("Horizontal");
        transform.Rotate(0, turn * turnSpeed * Time.deltaTime, 0);
        controller.Move(moveDirection * Time.deltaTime);
        moveDirection.y -= gravity * Time.deltaTime;


    }

}


 

Würde mich über eine hilfreiche Antwort sehr freuen :D

Gruss 

Damian

 

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ich war mal so frei und hab deinen Code als Code eingefügt. Mach das mal bitte nächstes Mal selber mit dem guten <>-Knopf.

Bei Fehlermeldungen wäre es schön, wenn du die Zeilennummer mitschreibst, und am besten auch die Nachricht der Meldung - wir können hier nicht alle C#-Fehlercodes auswendig :)

Beim eigenständigen Suchen hilft dir deine IDE. Die würde nämlich direkt in Zeile 9 das Wort

CharakterController 

rot unterstreichen, weil der mit C geschrieben wird ;)

Link zu diesem Kommentar
Auf anderen Seiten teilen

Du musst unterscheiden zwischen Refactorings, die er dir anbietet, und Fehlerbehebungen. Methode extrahieren ist nicht zum Beheben von Fehlern, sondern zum Aufräumen des Codes. Und nur, weil die Zeile gerade nen Fehler angezeigt bekommt, hört er ja nicht auf dir dafür Optionen anzubieten.

Wo der Fehler ist habe ich dir ja schon gesagt. Du hast aber offenbar tatsächlich ein eigenes Script mit dem Namen "CharakterController" irgendwo rumliegen, darum wird das Wort in Zeile 9 nicht rot unterstrichen. Du kannst aber ja nicht eine Variable vom Typ CharakterController haben und dann da einen CharacterController reinpacken. Sind ja zwei unterschiedliche Sachen. Fix also einfach mal Zeile 9.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Was passiert wenn du deine Charakter Controller Variable public machst und den Charakter Controller manuell im Inspector deiner Variable zuteilst.

So könnte man unterscheiden ob der Fehler am Charakter Controller selbst liegt oder am Code.

 

Oder das was Sascha sagt das macht mehr Sinn xD

Link zu diesem Kommentar
Auf anderen Seiten teilen

Archiviert

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

×
×
  • Neu erstellen...