Ruch postaci

0

Witam.
Mam mały problem. Otóż chciałbym wykorzystać ruch postaci podobny do ruchow z gry space invaders tzn.:
kilka "duszkow" porusza sie od lewej do prawej po czym schodzi o kilka pixeli w dol i znowu od lewej do prawej i znowu w dol. Na razie jak wykonuje ruch to albo chodza tylko po osi x, a jak dodaje y to poruszaja sie po skosie.
Z góry byłbym wdzięczny za pomoc.

public void act() {
x+=vx;
if (x < 0 || x > Scena.SZEROKOSC)
vx = -vx;

}

Pozdrawiam.

0

spróbuj w ten sposób:


if (x < 0 || x > Scena.SZEROKOSC)
{
vx = -vx;
y+= vy;
}
else
x+=vx;


PS. Zarowno w Twoim algorytmie jak i w moim x moze znalezc sie poza zakresem (zostawilem w ten sposob, skoro tak to robiles). Jesli jest to nieplanowane, zmien warunki w if'ie, lub koryguj wartosci w przypadku przekroczenia dozwolonego zakresu.
0

wielkie dzięki :)
Mam jeszcze jedno małe pytanie. Mianowicie w kodzie mam aby po zestrzeleniu kilku duszków kończył się level i automatycznie przechodził na kolejny poziom. Na razie zatrzymałem się na tym iż po zestrzeleniu określonej liczby wyświetla się informacja o zakończonym levelu. Stworzyłem klasę Level1 która rozszerza główną klasę gry. Ale nie wiem jak napisać poprawnie przejście do następnego levelu.

public static void main(String args[])
    {

        MagicSpace inv = new MagicSpace();
        inv.initGame();
        inv.menu();

        Level1 lev1= new Level1();
        lev1.initGame();
        lev1.menu();
                 
        }

Taki kod oczywiście generuje prawie równoczesne załączenie obu plansz. Za pomoc i ratunek bardzo dziękuje.
Pozdrawiam.

0

?

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