Skocz do zawartości

Zbugowane slope.


Rekomendowane odpowiedzi

Mój gracz schodzi na nich prawie doskonale, ale wchodzenie nie działa. :( Event step gracza:

if !pfs_collision_other(global.pf_slopeLeft,1,1,x,y+1) {
if keyboard_check_direct(global.pf_left) {if place_free(x-global.pf_speed,y) {x-=global.pf_speed; global.pf_heroDir = pf_LEFT;}}
if keyboard_check_direct(global.pf_right) {if place_free(x+global.pf_speed,y) {x+=global.pf_speed; global.pf_heroDir = pf_RIGHT;}}
} else {

if keyboard_check_direct(global.pf_left) {if place_free(x-global.pf_speed,y) {x -= 2; y -= 4;}}
if keyboard_check_direct(global.pf_right) {if place_free(x+global.pf_speed,y) {x += 2; y += 2;}}
}

Skrypt kolizji:

var withCol,prec,notme,xx,yy,xxx,yyy,xxxx,yyyy;
xxxx = argument3;
yyyy = argument4;
withCol = argument0;
prec = argument1;
notme = argument2;
who = argument5;
xx = xxxx - withCol.sprite_xoffset;
yy = yyyy - withCol.sprite_yoffset;
xxx = xxxx + withCol.sprite_width - withCol.sprite_xoffset;
yyy = yyyy + withCol.sprite_height - withCol.sprite_yoffset;
return collision_rectangle(xx,yy,xxx,yyy,withCol,prec,notme);

Mapka z slope:

 

vlds.jpg

 

Mogę wrzucić całą grę, ale o to trzeba mnie poprosić na PW :unsure:

Odnośnik do komentarza
Udostępnij na innych stronach

GML
if place_meeting(x,y+1,slope){

if keyboard_check(vk_left){

x-=2

y-=2

}

if keyboard_check(vk_right){

x+=2

y+=2

}

}

 

?

Niestety, nie działa.

@Explosivo - Taka sama jak mój walnięty sprite.

@kt1117 - Szukałem w wielu przykładach, jednak nie wiem co wkleić na prosty, 45 stopniowy kąt.

Odnośnik do komentarza
Udostępnij na innych stronach

To by było jakoś tak:

GML
wysokosc=10;//na ile pikseli potrafi wspiąć się gracz, im większa wartość tym bardziej stromy może być stok, ale może //wskakiwać też tam gdzie nie ma, dlatego dobierz sobie

yy=y;//zmienna pomocnicza

ok=false;

while (!ok && yy<wysokosc)

{

if (place_free(x+1,yy))

{

x+=1;

y=yy;

ok=true;

}

yy+=1;

}

To będzie skrypt na slope pod górę w prawo. W lewo inny znak przy x,

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