Skocz do zawartości

Problem z grawitacją w nietypowym restarcie.


sfinkss

Rekomendowane odpowiedzi

JEst ten kod:

"

GML
W Create

global.wysokosc=0;

 

__________________________________________

W Step

 

global.wysokosc=room_heigth-view_yview[0]

 

______________________________________________

W kolizji bohatera z potworem

 

 

global.wysokosc=(global.wysokosc div 500) * 500; // 500 to wyznacznik zapisu*

y=global.wysokosc+view_hview-32;

view_yview=global.wysokosc;

"

 

 

i jest problem, bo kiedy ta kolizja bohatera z potworem nastąpi, mój hero ląduje gdzieś wysoko na planszy (room heigth=7000pix) i ciągle wisi w powietrzu...

 

a oto moja grawitacja:

 

GML
STEP

 

/*-------------poruszanie---------------------*/

if (keyboard_check(vk_left) and place_free(x-6,y))

{x-=6}

if (keyboard_check(vk_right) and place_free(x+6,y))

{x+=6}

if (keyboard_check(vk_up) and ! place_free(x,y+1) and vspeed=0)

{vspeed-=10}//

/*-------------poruszanie---------------------*/

 

/*-------------gravitacja---------------------*/

if place_free(x,y+1)

{gravity = 0.5}

else

{gravity = 0}

/*-------------gravitacja---------------------*/

Odnośnik do komentarza
Udostępnij na innych stronach

Zdawało mi się, że twoja gra miała polegać na tym, by lecieć do góry oO?

 

Chciałeś żeby jak się zginie, nie leciało się od samego dołu, tylko od jakiegoś przekroczonego punktu, ten kod sprawia, że wyznacznik nowego startu jest "zapisywany" co 500 pixeli.

 

Moze tak ?

 

GML
W Create

global.wysokosc=0;

 

__________________________________________

W Step

 

global.wysokosc=room_heigth-view_yview[0]

 

______________________________________________

W kolizji bohatera z potworem

 

 

global.wysokosc=(global.wysokosc div 500) * 500; // 500 to wyznacznik zapisu*

y=global.wysokosc+view_hview[0]-32;

view_yview[0]=global.wysokosc;

 

Mam nadzieje, że view którego używasz też ma index 0 ...

Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...