asdfMaciej Opublikowano 31 Marca 2012 Udostępnij Opublikowano 31 Marca 2012 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: Mogę wrzucić całą grę, ale o to trzeba mnie poprosić na PW :unsure: Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
kt1117 Opublikowano 1 Kwietnia 2012 Udostępnij Opublikowano 1 Kwietnia 2012 Tymon albo Platyna zrobił kiedyś przykład wchodzenia pod górę, obacz go Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
karolo320 Opublikowano 1 Kwietnia 2012 Udostępnij Opublikowano 1 Kwietnia 2012 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 } } ? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
exp Opublikowano 1 Kwietnia 2012 Udostępnij Opublikowano 1 Kwietnia 2012 Ustawiłeś maskę postaci? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
asdfMaciej Opublikowano 1 Kwietnia 2012 Autor Udostępnij Opublikowano 1 Kwietnia 2012 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 Więcej opcji udostępniania...
kt1117 Opublikowano 5 Kwietnia 2012 Udostępnij Opublikowano 5 Kwietnia 2012 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 Więcej opcji udostępniania...
BanDa Opublikowano 5 Kwietnia 2012 Udostępnij Opublikowano 5 Kwietnia 2012 I tak przy okazji. Zmień siatkę w roomie z 16x16 na 32x32 jeśli masz obiekty 32x32. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Rekomendowane odpowiedzi
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ę