Hallo ich habe ein 2D Unity Spiel Programmiert aber es kommt ein Fehler code aber ich weiß nicht wieso?


24.09.2020, 20:16

Bin kompleter Einsteiger

4 Antworten

Da ist aber einiges schief gelaufen:

new Vector2(transform.position.x,,
transform.position.x, transform.position.y - Yincrement);

zwei "," hintereinander? Und selbst wenn Du das entfernst hast Du transform.position.x doppelt und damit einen Parameter zu viel, schreib mal:

new Vector2(transform.position.x,transform.position.y - Yincrement);

Gruß

@AlddroXYZ vielen Dank nur könntest du es bitte das ganze in einem Code schreiben da ich es dann besser verstehen würde :D

0
@Tom23759

Oha, jetzt müsstest Du mir sagen was "einen Code" heißt.

Du meinst die ganze Zeile:

targetPos = new Vector2(transform.position.x, transform.position.y - Yincrement);

Oder doch noch etwas anderes?

Gruß

1
@AldoradoXYZ

Nein eigentlich meinte ich es hier drinn:

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

public class NewBehaviourScript : MonoBehaviour
{
    private Vector2 targetPos;
    public float Yincrement;

    void Start()
    {

    }

    void Update()
    {
        if (Input.GetKeyDown(KeyCode.UpArrow))
        {
            targetPos = new Vector2(transform.position.x,
transform.position.y + Yincrement);
            transform.position = targetPos * Time.deltaTime;
        }
        else if (Input.GetKeyDown(KeyCode.DownArrow))
        {
            targetPos = new Vector2(transform.position.x,,
transform.position.x, transform.position.y - Yincrement);
            transform.position = targetPos * Time.deltaTime;
        }
    }
}

Gruß

0
@Tom23759
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class NewBehaviourScript : MonoBehaviour
{
    private Vector2 targetPos;
    public float Yincrement;

    void Start()
    {

    }

    void Update()
    {
        if (Input.GetKeyDown(KeyCode.UpArrow))
        {
            targetPos = new Vector2(transform.position.x,
transform.position.y + Yincrement);
            transform.position = targetPos * Time.deltaTime;
        }
        else if (Input.GetKeyDown(KeyCode.DownArrow))
        {
            targetPos = new Vector2(transform.position.x, transform.position.y - Yincrement);
            transform.position = targetPos * Time.deltaTime;
        }
    }
}

So, bitte sehr.

Ich habe aber nicht geguckt ob sonst alles passt.

Gruß und viel Spaß

0

Da ist ein Komma zu viel.

targetPos = new Vector2(transform.position.x,,
Woher ich das weiß:Beruf – IT Support, Studium & Hobby

Sieht man eigentlich auf den ersten Blick, dass es drei Argumente sind statt zwei. => 1x entfernen

Vector2 ist 2 dimensional, d.h. er nimmt nur 2 parameter entgegen. Kenne mich in Unity nicht aus aber vielleicht gibt es Vector3?

Nein, er hat einfach ein Komma zu viel. ;-)

1

Was möchtest Du wissen?