Phoenix Opublikowano 20 Sierpnia 2016 Udostępnij Opublikowano 20 Sierpnia 2016 Witam, robię sobie mały generator i tworzy on takie coś: Każdy taki kwadracik będzie mieć swój tag np. otwarta przestrzeń, łąka itp. Te tagi będą dawały konkretne parametry. Siła danego parametru będzie zależeć od image_alpha i image_xscale/yscale, dość prosty mechanizm. Teraz chcę postawić w dowolnym punkcie kulkę. A ta kulka ma "wczytać" do siebie parametry tych kwadratów, na których została utworzona. Ktoś ma jakiś pomysł jak takie wczytywanie, czy też wchłanianie tych wartości zrobić? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Threef Opublikowano 20 Sierpnia 2016 Udostępnij Opublikowano 20 Sierpnia 2016 Jedyne sensowne rozwiązanie to przelecenie przez wszystkie istniejące kwadraty. Wtedy dopiero dla każdego z nich przeprowadzić warunek sprawdzający. Chyba ze byś stworzył sobie siatkę o stałej szerokości np 128px która byłaby tablicą 2D albo ds_grid. Każda komórka z tablicy będzie potem przechowywała tablicę 1D albo listę wszystkich kwadratów które są w tej siatce. Wtedy tworząc kulkę możesz iterować przez wszystkie kwadraty z danej komórki + 4 albo 8 sąsiednich. Ja bym tak chyba zrobił. Edit: Coś takiego. GML //Tworzenie var i = instance_create(irandom(room_width), irandom(room_height), kwadrat) var list = ds_grid_get(grid, floor(i.x/128), floor(i.y/128)) ds_list_add(list, i) //Pobieranie for(var n=0; n<ds_list_size(list); n++) { var inst = ds_list_find_value(list, n) if(inst.image_alpha<0.5) { //Do stuff } } Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Rekomendowane odpowiedzi
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ę