Skocz do zawartości

Zablokowane tower defense - problem.


karolo320

Rekomendowane odpowiedzi

Siema! Otóż zakładałem temat duplikejszyn mp_grida i zakładam nowy, bo chodzi o coś trochę innego.

Otóż mam obiekty: wieza1, wieza1lec i wieza1postaw :)

Klikam w wieza1postaw i tworzy sie wieza1lec i on sobie fruwa za myszka i jak sie kliknie to sie stawia wieza.

i otoz chce sprawdzic czy potworki moga przejsc jak sobie fruwam ta wieza1lec.

Jak ktos nie zczail to pokaze malowidła :)

 

Przypadek 1. Potworki moga przejsc.

1.jpg

 

Przypadek 2. Potworki to nieeeeeee.

2.jpg

 

 

I otóz mam mp_grida o nazwie global.siatka. I co stepa robie:

 

GML
moge=1

if instance_exists(wrog){

mp_grid_add_rectangle(global.siatka,other.x+1,other.y+1,other.x+31,other.y+31)

with(wrog){

var qaz,wsx;

wsx=path_add()

qaz=mp_grid_path(global.siatka,wsx,x,y,0,216,0)

if qaz=0{

other.moge=0

break;

}

}

}

mp_grid_clear_rectangle(global.siatka,other.x+1,other.y+1,other.x+31,other.y+31)

var qaz, wsx;

qaz=path_add()

mp_grid_add_rectangle(global.siatka,x+1,y+1,x+31,y+31)

wsx=mp_grid_path(global.siatka,qaz,632,216,0,216,1)

if wsx=0 then moge=0

mp_grid_clear_rectangle(global.siatka,x+1,y+1,x+31,y+31)

mp_grid_add_instances(global.siatka,wieza,1)

 

i to działa, tylko jak tylko istnieje ten obiekt, to fps spadaja do 7,8 :)

 

Podacie jakieś optymalniejsze rozwiazanie? :D

Odnośnik do komentarza
Udostępnij na innych stronach

Dodaj dwie zmienne w Create: zx i zy.

GML
if(zx div 32 != mouse_x div 32)||(zy div 32 != mouse_y div 32){

moge=1

if instance_exists(wrog){

mp_grid_add_rectangle(global.siatka,other.x+1,other.y+1,other.x+31,other.y+31)

with(wrog){

var qaz,wsx;

wsx=path_add()

qaz=mp_grid_path(global.siatka,wsx,x,y,0,216,0)

if qaz=0{

other.moge=0

break;

}

}

}

mp_grid_clear_rectangle(global.siatka,other.x+1,other.y+1,other.x+31,other.y+31)

var qaz, wsx;

qaz=path_add()

mp_grid_add_rectangle(global.siatka,x+1,y+1,x+31,y+31)

wsx=mp_grid_path(global.siatka,qaz,632,216,0,216,1)

if wsx=0 then moge=0

mp_grid_clear_rectangle(global.siatka,x+1,y+1,x+31,y+31)

mp_grid_add_instances(global.siatka,wieza,1)

}

zx = mouse_x

zy = mouse_y

Odnośnik do komentarza
Udostępnij na innych stronach

Gość
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...