Cygnus Opublikowano 19 Lipca 2015 Autor Udostępnij Opublikowano 19 Lipca 2015 k117 dodałem w bohaterze do kolizji z obj_wall GML show_message(string(vspd)) if(vspd > 2){ global.life -=1; } else if(vspd > 1){ hp -=1; } Podskakuje graczem,ale nic nie wyskakuje... Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Gibki Kaktus Opublikowano 19 Lipca 2015 Udostępnij Opublikowano 19 Lipca 2015 Czyli, że ta kolizja wgl nie występuje. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
kt1117 Opublikowano 19 Lipca 2015 Udostępnij Opublikowano 19 Lipca 2015 Znajdź gdzieś w obiekcie gracza w eventach kolizji coś podobnego do: GML x=xpreviuos y=yprevious i powiedz gdzie to jest i podaj cały kod tych eventów gdzie to znajdziesz Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Cygnus Opublikowano 19 Lipca 2015 Autor Udostępnij Opublikowano 19 Lipca 2015 Dobra mam.Tu jeszcze pozostał w obj_player kod z End STEP i tu jest y i x previous obj_player END STEP GML ///Sprites if !place_meeting(x,y,obj_water) { if inAir == false && keyboard_check(kRight) = keyboard_check(kLeft) && sprite_index != spr_player_stand && climbing == false { sprite_index = spr_player_stand; image_index =0; } if inAir == false && (keyboard_check(kRight) || keyboard_check(kLeft)) && keyboard_check(kRight) != keyboard_check(kLeft) && sprite_index != spr_player_run && climbing == false { sprite_index = spr_player_run; image_index = 0; } if inAir == true && climbing == false { sprite_index = spr_player_air; if vspd <= -1 { image_index = 0; } else if vspd >= 1 { image_index = 2; } else { image_index = 1; } } if climbing == true { if x == xprevious && y == yprevious { if sprite_index != spr_player_hang { sprite_index = spr_player_hang; } } else { if sprite_index != spr_player_climb { sprite_index = spr_player_climb; } } } if attClock > 0 && curAttack == 0 { sprite_index = spr_player_attack; image_index = 14-(attClock); attClock -= 1; } if attClock > 0 && curAttack == 1 { sprite_index = spr_player_shoot; image_index = 6-(attClock); attClock -= 1; } swimDir = point_direction(xprevious,yprevious,x,y); drawAngle = swimDir; if image_xscale < 0 { drawAngle += 180; } } else { if sprite_index != spr_player_water { sprite_index = spr_player_water; image_index = 0; } if keyboard_check(kRight) && !keyboard_check(kLeft) && image_xscale = -1 { image_xscale = 1; drawAngle -= 180; } else if keyboard_check(kLeft) && !keyboard_check(kRight) && image_xscale = 1 { image_xscale = -1; drawAngle += 180; } if abs(keyboard_check(kRight)-keyboard_check(kLeft))+abs(keyboard_check(kDown)-keyboard_check(kUp)) != 0 { image_index += 2; if image_xscale > 0 { drawAngle -= angle_difference(drawAngle,swimDir)/16; } else { drawAngle -= angle_difference(drawAngle,180+swimDir)/16; } } } Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Gibki Kaktus Opublikowano 19 Lipca 2015 Udostępnij Opublikowano 19 Lipca 2015 Szukaj dalej, tutaj nie cofa pozycji ani nie ma nic ze zmianą współrzędnych. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Cygnus Opublikowano 19 Lipca 2015 Autor Udostępnij Opublikowano 19 Lipca 2015 Kurcze przeszukałem wszystko w obj_player wszystkie stepy,kolizje z obiektami i tylko w tym co podałem jest to x,y previous.Nie ma już nigdzie w całym obj_player...tylko w tym END STEPIE Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Threef Opublikowano 19 Lipca 2015 Udostępnij Opublikowano 19 Lipca 2015 Może pobierzcie sobie silnik którego używa Cygnus? Łatwiej będzie wam wszystko znaleźć. https://gumroad.com/l/platformer @down: wiemy że jest zmodyfikowany. I widzimy też w jaki sposób. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Cygnus Opublikowano 19 Lipca 2015 Autor Udostępnij Opublikowano 19 Lipca 2015 Panowie ogarnięte,ale dzięki za pomoc;) zupełnie inaczej zrobiłem tak:) obj_player CREATE GML global.damage=0; //zmiena odzpowiedzialna za obrazenia zadawane po upadku z duzej wysokosci w Step GML if vspd > 25 //Jesli predkosc spadania jest szybsza niz 25 (Mozna dowolnie zmieniac ta wartosc.) {global.damage+=1} //Zwiekszenie obrazen o wartosc 1. (Zmienienie liczby na wieksza zwiekszy zadawane obrazenia po upadku.) if not place_free(x,y+1) //Jesli w poblizu nas jest jakis obiekt rowniez zostana zadane obrazenia { other.hp-=global.damage //Odejmujemy punkty zycia od wartosci zadanych obrazen. global.damage=0 //Resetujemy zadawanie obrazen po uderzeniu w ziemie by nie zabieralo go wiecej } i w End STEP GML if vspd > 35 || hp <= 0{ global.damage=1 if not place_free(x,y+1) //Jesli w poblizu nas jest jakis obiekt rowniez zostana zadane obrazenia { global.life-=global.damage //Odejmujemy 1 zycie po upadku z ogromnej wysokosci global.damage=0 //Resetujemy zadawanie obrazen po uderzeniu w ziemie by nie zabieralo go wiecej } instance_destroy(); with (instance_create(x,y,obj_entity_die)) { sprite_index = spr_player_die01; image_xscale = other.image_xscale; respawnObject = obj_player; respawnX = spawnX; respawnY = spawnY; physics = true; respawn = true; } } I działa;) ale dzięki za pomoc i tak;) to na przyszłość dla tych,co będą mieli z tym problem... PS.Threef tak to ten szkielet silnika,ale bardzo zmodyfikowany..;) bystry jesteś młody;) 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ę