Skrypt Na Chodzenie W C# Do Unity

0

Witam

Nie ukrywam iż jestem nowy w programowaniu lecz potrzebuje pomocy z tym skryptem:

{

public float speed;
public Rigidbody2D rb;


private void Update()
{
    if Input.GetKey(Keycode.D))
    {
        rb.AddForce(new Vector2(speed, 2));
    }

    if Input.GetKey(Keycode.A))
    {
        rb.AddForce(new Vector2(speed, -2));
    }
    else
    
    {
        rb.AddForce(new Vector2(speed, 0));
    }
}

Ponieważ konsola pokazuje 3 errory screenshot-20201112195811.png

Pozdrawiam

2

@Nikodem Karpiński: Po if dodaj "(", powinno być tak: if(Input.GetKey(Keycode.D))

0

A Co z tym ostatnim errorem?

0

@Nikodem Karpiński: Nie widzę gdzie tu mogłoby brakować klamerki, ale może nie zamnkąłeś klasy? Sprawdź linie nr 29

0

@Adrian 1: Albo wklej resztę kodu

0

screenshot-20201112203216.png Tak to wygląda

0

@Nikodem Karpiński: Usuń wolną linię pod else ?

0

to samo

0

@Nikodem Karpiński:
To wklej całą klase bo tak to nie widać albo po prostu w linii w której ci pokazuje wstaw "}"

0

udało się lecz teraz pokazuje się to screenshot-20201112205725.png

0

@Nikodem Karpiński: Przeciągnij komponent Rigidbody2D obiektu do ktorego masz przypisany skrypt w miejsce rb

0

@Adrian 1: W inspektorze

0

teraz postać cały czas skręca w prawo oraz przyspiesza

0

@Nikodem Karpiński: Bo w funkcji update masz else które wykonuje sie co klatkę. Usuń:
else
{
rb.AddForce(new Vector2(speed, 0));
}
Albo dodaj jakiś warunek do tego

0

kiedy usunolem postac chodzi w jedna strone

0
[Nikodem Karpiński ]

void Move() {
float x = Input.GetAxisRaw("Horizontal");
float moveBy = x * speed;
rb.velocity = new Vector2(moveBy, rb.velocity.y);
}
Tu masz funkcje do poruszania postaci, wywołaj ją w update

0

Dżizas usunolem

0

screenshot-20201112215902.png gdzie?

1
Nikodem Karpiński napisał(a):

screenshot-20201112215902.png gdzie?
W update, bez ifa.
Update()
{
Move();
}

1 użytkowników online, w tym zalogowanych: 0, gości: 1