Skocz do zawartości

grid i path


Rekomendowane odpowiedzi

Mam taki kod:

GML
if o_bitwa.tura=postac && zaczal=0

{

with(o_drzewo) instance_destroy();

with(o_skala) instance_destroy();

with(r)

{

Path = path_add();

i=4

u=-1

gotow=0

Grid = mp_grid_create(0,252,20,7,64,64);

mp_grid_add_instances(Grid,o_walka_przeciwnik,true);

//gotow = mp_grid_path(Grid,Path,x,y,x+(i*64),y+(u*64),false);

gotow = mp_grid_path(Grid,Path,x,y,ob_obiekt.x,ob_obiekt.y,false);

path_set_kind(Path,true);

 

PathWidth = path_get_number(Path)-1;

other.PathWidth=PathWidth

if(gotow) && PathWidth<=other.ruch

{

 

instance_create(path_get_point_x(Path,PathWidth),path_get_point_y(Path,PathWidth),o_drzewo);

for(i=1;i<PathWidth;i+=1)

instance_create(path_get_point_x(Path,i),path_get_point_y(Path,i),o_skala);

}

other.ruch-=PathWidth

}

zaczal=1

}

 

Nie ogarniam tych ścieżek(2 dzień siedzę w nich) i ścieżka mi się tak formuje:

Bez_tytu_ufbe4f.png

Dlaczego skały są przesunięte, a drzewo jest dobrze? ( dla testu tworzyłem byle jaki obiekt)

Odnośnik do komentarza
Udostępnij na innych stronach

Może po prostu masz origin tej skały ustawiony tak a nie inaczej? Może ta skała gdzieś w create się przemieszcza?

 

Poza tym zastanów się czy na pewno chcesz tworzyć instance. Może wystarczy Ci rysować te sprite na odpowiedniej pozycji?

Odnośnik do komentarza
Udostępnij na innych stronach

Wydaje mi się że to może mieć coś wspólnego z tym drzewem, wygląda jak by blokowało wszystkie kratki na lewo od siebie (czyli mniejsze niż drzewo.x). Patrząc na kod wydaje mi się że drzewa mogą "rosnąć pod kamieniami" czy tam na odwrót, ale to tylko przypuszczam bo nie używałem nigdy siatki, path itp.

 

 

Btw, tak jak Threef pisał, wygląda jak by origin był do bani(porównaj z origin drzewa).

Odnośnik do komentarza
Udostępnij na innych stronach

A teraz? Mp grid działa przez środek kratek a nie na rogach.

GML
if o_bitwa.tura=postac && zaczal=0

{

with(o_drzewo) instance_destroy();

with(o_skala) instance_destroy();

with(r)

{

Path = path_add();

i=4

u=-1

gotow=0

Grid = mp_grid_create(0,252,20,7,64,64);

mp_grid_add_instances(Grid,o_walka_przeciwnik,true);

//gotow = mp_grid_path(Grid,Path,x,y,x+(i*64),y+(u*64),false);

gotow = mp_grid_path(Grid,Path,x+32,y+32,ob_obiekt.x+32,ob_obiekt.y+32,false);

path_set_kind(Path,true);

 

PathWidth = path_get_number(Path)-1;

other.PathWidth=PathWidth

if(gotow) && PathWidth<=other.ruch

{

 

instance_create(path_get_point_x(Path,PathWidth)-32,path_get_point_y(Path,PathWidth)-32,o_drzewo);

for(i=1;i<PathWidth;i+=1)

instance_create(path_get_point_x(Path,i)-32,path_get_point_y(Path,i)-32,o_skala);

}

other.ruch-=PathWidth

}

zaczal=1

}

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