Skocz do zawartości

[GMS] jak dodać do bossa strzały, różne ataki, chodzenie , bo na fizyce phy_physic coś nie chce działać z klocków


Cygnus

Rekomendowane odpowiedzi

Cześć wszystkim Jak dodać do bossa strzały, różne ataki, chodzenie , bo na fizyce phy_physic coś nie chce działać z klocków:/

 

i co tu wpisać żeby w momencie zabicia wroga zmienił on swój sprite

 

o to kod enemy

 

STEP

GML
hsp = dir * movespeed;

vsp += grav;

image_speed = 0.03;

if (hsp != 0) image_xscale = sign(hsp);

 

///Horizontal Collision

if (place_meeting(x+hsp,y,obj_Collision) || place_meeting(x+hsp,y,obj_niewidzialny))

{

hsp = 0;

dir *= -1;

}

 

x += hsp;

 

///Vertical Collision

if (place_meeting(x,y+vsp,obj_Collision))

{

 

while (!place_meeting(x,y+sign(vsp),obj_Collision))

{

y += sign(vsp);

}

vsp = 0;

}

y += vsp;

 

///Enemy Collision

if (place_meeting(x,y,obj_player))

{

if (obj_player.y < y-16)

{

with (obj_player) vsp =-jumping;

global.pScore += 100; //Punkty za zabicie wroga

instance_destroy();

sprite_index = sprWrogGinie;

 

}

else

{

health -= 1; // o tak bug z hp naprawiony, teraz wrogowie zabijaja;)

}

}

Odnośnik do komentarza
Udostępnij na innych stronach

Kurcze dlatego wam pytam o pomoc,w końcu to dział dla początkujących..

Dobra,to powiedzcie jaki kod miałby być np żeby drabiny działały,bo teraz jak próbuje po nich wchodzić,to tak jakbym po nich lewiatował.Chyba kolega z N94 miał ten sam problem.

Odnośnik do komentarza
Udostępnij na innych stronach

Cześć wszystkim Jak dodać do bossa strzały, różne ataki, chodzenie , bo na fizyce phy_physic coś nie chce działać z klocków:/

 

Ja zrobiłem tu taki prosty przykład odnośnie tego bossa:

 

Tworzysz sobie obj_boss i obj_pocisk, ustawiasz im sprity itp.

 

obj_pocisk event create

GML
///CREATE

speed=5; //prędkość pocisku

image_angle=direction;

 

obj_boss event create

GML
///CREATE

shot=true;//odstępu miedzy strzalami

dir_=0; //kierunek bossa</span></span>

 

obj_boss event step

GML
///STEP

if dir_==0 then x+=1; //jeśli dir=0 idzie w prawo

if x>room_width then dir_=1; //jesli napotka koniec roomu zawraca

if dir_==1 then x-=1; //jeśli dir=1 idzie w lewo

if x<0 then dir_=0; //jeśli napotka koniec roomu zawraca

var a; //zmienna nic nie robi :p

for(a=0; shot=true; direction+=30;)//pętla for(wartosc zmiennej,warunek,instrukcja {inne instrukcje}

{

i=instance_create(x+lengthdir_x(16,direction),y+lengthdir_y(4,direction),obj_pocisk);//żeby sprite pocisku miał odpowiedni kąt względem kierunku lotu

i.direction = direction;

i.image_angle = direction;

alarm[0]=room_speed/2; //alarm do shot aby byly pewne przerwy miedzy strzelaniem

shot=false;

}

 

obj_boss event alarm0

GML
///ALARM 0

shot=true; //kiedy alarm skonczy odliczać boss znów zacznie strzelać</span></span>

 

@EDIT: LoL teraz doczytałem że robisz to na physics... raczej to co napisałem wyżej działać nie będzie

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