Skocz do zawartości

Ruch postaci po nieregularnej powieszchni


Rekomendowane odpowiedzi

Mam mały problem. Mianowicie, chce aby moja postać mogła sie poruszać po planszy ale gdzie jest pełno górek, dołów itd. czyli podobnie jak w Soldacie. Próbowałem zrobić jeden obiekt (plansze) ustawiony na solid i w step w obiekcie gracz dawałem :

if collision_point(x,y+sprite_height/2+1,o_plansza,0,1)
gravity=0
else
gravity=0.1;

if keyboard_check(vk_left)
{
if place_empty(x+1,y)
x+=1;

if place_empty(x+1,y+1)
{x+=1; y+=2;}

if place_empty(x+1,y+2}
{x+=1; y+=3;}

if place_empty(x+1,y+3)
{x+=1; y+=4;}

if place_empty(x+1,y+4)
{x+=1; y+=5;}

// ITD.
}

A w kolizji z obiektem planszą :

{if (vspeed > 0 && not place_free(x,y+vspeed)) 
move_contact(270);
vspeed = 0;
gravity=0;}

 

Wiem że sposób troche zacofany ale nic innego mi do głowy nie przychodziło. I jest problem bo obiekt sie blokuje a chce tego uniknąć.

 

Może wy macie jakiś lepszy sposób lub wiecie jak poprawić mój ?

Odnośnik do komentarza
Udostępnij na innych stronach

  • Filar Społeczności

No w sumie mozesz zostac przy tym sposobie. Troszke lepiej napisane

i = 0;
while ( true )
{
  if ( place_empty(x+1,y+i) )
  {
     x += 1;
     y += i;
     break;
  }
  if ( i < 2 ) i+=1;
  else break;
}

Sadze, ze y+2 to juz jest maksymalna pochylosc na ktora mozna wejsc.

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ę...