Skocz do zawartości

Utrata energii i utrata życia bohatera,kiedy skoczy z wysokiej odległości


Cygnus

Rekomendowane odpowiedzi

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

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

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