Skocz do zawartości

wykrywanie czy obiekt leży na danym


Markuz

Rekomendowane odpowiedzi

Jak zapisać warunek który będzie mi zwracał 2 rodzaje "danych", 1 gdy obiekt w którym jest ten warunek sie styka z innym obiektem, a w 2 jeżeli nie, chodzi mi tu o to że np. gdy chce zbudować nowy dom , to jeżeli styka się z 2 domem, jakimś drzewkiem, krzaczkiem , skałom itp. to żeby nie dało się go postawić jeżeli tak to by się dało :)

Odnośnik do komentarza
Udostępnij na innych stronach

Ja bym to trochę inaczej zrobił... Stworzył nowy obiekt jako parenta dla domów.

Przy sprawdzaniu czy nie koliduje z domami to w taki sposób:

GML
if( place_meeting( x, y, pStructure )) // Sprawdzanie czy koliduje z innymi strukturami

{

// Dotyka jakiś dom

styka = true;

}

else

{

// Wolne miejsce

styka = false;

}

Odnośnik do komentarza
Udostępnij na innych stronach

i tak cos nie chodzi ...

 

STEP:

GML
if(place_meeting(x,y,pStructure)) //jezeli sie stykaja

{ //to

styka=true

}

else //jak nie

{

styka=false

}

Parenty ustawione sa ustawione.

 

 

draw

GML
draw_text(x+5,y+25,'Styka: '+string(styka));

create

GML
draw_color = c_green

styka=false

Odnośnik do komentarza
Udostępnij na innych stronach

if ( place_meeting( x, y, parent)) - źle!!

 

a dla czego?

chodzi o to, że u Ciebie obj_system przez cały czas stoi w jednej, tej samej pozycji (co przy stworzeniu go).

Powinieneś sprawdzać tą kolizję z miejscem w którym rysujesz ten ratusz, czyli mouse_x/y

 

spróbuj: if ( place_meeting( mouse_x, mouse_y, parent ))

 

E: A najłądniej będzie wyglądało jak zrobisz:

GML
styka = place_meeting( mouse_x, mouse_y, parent )
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ę...