Skocz do zawartości

Efekt ognia (miotacz ognia)


Cygnus

Rekomendowane odpowiedzi

Cześć wszystkim chciałbym stworzyć obiekt,pułapkę,który wypuszcza ogień(taką długą strugę ognia)

 

No i mam tutaj podobny kod,który skorzystałem z yoyogames,ale zamiast długą strugą ognia puszczać ,to obiekt pułapka puszcza mi krótko ogień...takie pufanie zamiast miotacza ognia...

Co jest nie tak?

 

tutaj kod ognia

 

 

obj_ogien

 

create

 

 

GML
speed=1

size=.05

 

 

sterp

 

GML
image_angle+=4

if size<1.5

size+=random(.01)+.01

 

if size>1

image_alpha-=.03

 

if image_alpha<=0

instance_destroy()

 

if speed<=4

speed+=.1

 

 

draw

 

GML
draw_set_blend_mode(1)

draw_sprite_ext(sprite_index,image_index,x,y,size,size,image_angle,c_white,image_alpha)

draw_set_blend_mode(0)

 

 

a tu obiekt,z którego ma wydobywać się czasowo struga ognia...

 

obj_rura_ogniowa_lewa

 

create

 

GML
strzal=1;

image_speed =0;

image_index =0;

 

alarm 0

 

GML
strzal=1;

 

 

step

 

GML
if( strzal )

{

var i;

i = instance_create( x, y, obj_ogien );//tworzy ogien

i. direction=180 //nadaje ogniowi kierunek w lewa strone

i.speed = 5; //predkosc ognia

strzal = 0;

alarm[0] = room_speed * 0.4; //Odleglosc w czasie w jakim ma strzelac ogien

}

Odnośnik do komentarza
Udostępnij na innych stronach

Zarzuć dokładnym kodem (eksportuj do GMZ).

 

 

Gnysek to jest właśnie wyżej cały kod tego miotacza..ja myślę,że gdzieś w stepie muszę dać warunek żeby wiązka ognia paliła się dłużej,a nie pufała..

zrobiłem jeszcze do tego sprite w postać stożka..co nadał kształt wiązce ognia..ale jak mówię takie pufanie krótkie jest,a nie długa wiązka ognia.

Odnośnik do komentarza
Udostępnij na innych stronach

To daj chociaż sprite, żebym mógł odtworzyć problem :)

 

Gnysku inaczej...poradziłem sobie z miotaczem..ale zmieniłem całkowicie kod ognia i kod rury,mam tylko jeden problem,a mianowicie taki,że chce zrobić przerwe np 2 sekundową,bo teraz non stop obiekt pali się ładnym miotaczem ognia..

 

a,wiec tak stworzyłem skrypt

a w nim:

 

GML
repeat (1+floor(random(argument3))){

fire1=instance_create(argument0,argument1,obj_ogien1)

fire1.direction=argument2

fire2=instance_create(argument0,argument1,obj_ogien2)

fire2.direction=argument2

 

i teraz ładne z tym skryptem działa ognisty miotacz

 

tu obiekt,z ktrego wydobywa się ogień w tym przypadku lewa rurka

 

obj_rura_ogniowa_lewa

 

create

 

GML
direction=180 //nadaje ogniu kierunek lewy</span>

 

 

step

 

GML
scr_Fire(x,y,(direction-5)+random(10),2)

 

 

no i teraz chciałbym,żeby z odstępami miotacz się palił,a nie cały czas bez przerwy

Odnośnik do komentarza
Udostępnij na innych stronach

no i teraz chciałbym,żeby z odstępami miotacz się palił,a nie cały czas bez przerwy

Stwórz 2 stany i odliczaj licznikiem.

GML
if(strzelam == true)

{

//kod strzelania

licznik_czasu--

if(licznik_czasu<=0)

{

strzelam=false

licznik_czasu=200

}

} else {

//Nie strzelam

licznik_czasu--

if(licznik_czasu<=0)

{

strzelam=true

licznik_czasu=400

}

}

Odnośnik do komentarza
Udostępnij na innych stronach

Stwórz 2 stany i odliczaj licznikiem.

GMLif(strzelam == true)

{

//kod strzelania

licznik_czasu--

if(licznik_czasu<=0)

{

strzelam=false

licznik_czasu=200

}

} else {

//Nie strzelam

licznik_czasu--

if(licznik_czasu<=0)

{

strzelam=true

licznik_czasu=400

}

}

 

 

Dziękuje Threef wszystko działa jak należy;]

 

zrobiłem tak:

 

w create obj rura dałem

 

GML
direction=180 //nadaje lewy kierunek ognia

strzelam=true

licznik_czasu=0

 

 

a w stepie tak jak mi podałeś czyli

 

 

GML
if(strzelam == true)

{

scr_Fire(x,y,(direction-5)+random(10),2)

licznik_czasu--

if(licznik_czasu<=0)

{

strzelam=false

licznik_czasu=200

}

} else {

//Nie strzelam

licznik_czasu--

if(licznik_czasu<=0)

{

strzelam=true

licznik_czasu=400

}

}

 

to samo zrobiłem w drugim stanie super działa..jeszcze raz dziękuje.

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