Michał GM Opublikowano 29 Kwietnia 2012 Udostępnij Opublikowano 29 Kwietnia 2012 Mam takie jedno trochę złożone pytanie, a mianowicie jak zrobić wodę w platformówce z przelewaniem na boki i spadaniem... Proszę o pomoc... Ewentualnie jakiś link do przykładu ( ja nie znalazłem ) lub pokrewnego tematu :) Za każdą pomoc dzięki wielkie :] Pozdro Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Utermiko Opublikowano 29 Kwietnia 2012 Udostępnij Opublikowano 29 Kwietnia 2012 W stepie wody sprawdzasz czy z boku jest wolne miejsce i jeśli jest to tworzysz nowy obj_woda z boku, np. GML if place_free(x+15,y) { instance_create(x+16,y) } else if place_free(x-15,y) { instance_create(x-16,y) } else if... I to samo dalej. Żeby woda była bardziej "realistyczna" daj taki kod powiedzmy w alarmie[0], żeby zmieniała swój stan, np. po 1/2 sekundy. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Michał GM Opublikowano 29 Kwietnia 2012 Autor Udostępnij Opublikowano 29 Kwietnia 2012 Ale mi bardziej chodziło o przelewanie, a nie jak będzie wolne miejsce, to żeby się nowa woda tworzyła, mam nadzieję, że wiesz, o co mi chodzi :thumbsup: Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Jakim Opublikowano 29 Kwietnia 2012 Udostępnij Opublikowano 29 Kwietnia 2012 Musisz z czegoś zrezygnować: Twój silnik wody musi być znacząco uproszczony, jeżeli moc obliczeniowa ma wystarczyć także na inne elementy gry. Może powiedz, jak ważną część stanowi woda w Twojej grze i czy można ją zastąpić czymś prostszym, niewymagającym złożonych obliczeń. Najprościej, niekoniecznie najefektywniej, odpowiednimi animacjami. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Michał GM Opublikowano 29 Kwietnia 2012 Autor Udostępnij Opublikowano 29 Kwietnia 2012 No dosyć dużą rolę pełni :D Jakiś pomysł? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Utermiko Opublikowano 29 Kwietnia 2012 Udostępnij Opublikowano 29 Kwietnia 2012 Ale mi bardziej chodziło o przelewanie, a nie jak będzie wolne miejsce, to żeby się nowa woda tworzyła, mam nadzieję, że wiesz, o co mi chodzi :thumbsup: To znaczy, że nie chodziło Ci o jakąś prostą fizykę? Jeśli tak to zrób tak jak powiedział Jakim. Animacje :) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Michał GM Opublikowano 29 Kwietnia 2012 Autor Udostępnij Opublikowano 29 Kwietnia 2012 Jak będę na kompie to screena wstawię, i nie chodzi mi o animacje, tylko np. 100 objektów obj_woda 4x4 przelewających się... Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
ZyperPL Opublikowano 29 Kwietnia 2012 Udostępnij Opublikowano 29 Kwietnia 2012 Każesz nam napisać silnik fizyczny wody? No zastanów się. Nikt Ci takiego czegoś nie zrobi, poszukaj sobie gotowych przykładów z silników fizycznych (ExtremePhysics itd.) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Michał GM Opublikowano 29 Kwietnia 2012 Autor Udostępnij Opublikowano 29 Kwietnia 2012 Screen: https://gmclan.org/up8064_5_Bez_tytu_u.html ZyperPL jak nie wiesz, to się nie udzielaj :blink: ; nie każę wam pisać silnika tylko proszę o jakąś podpowiedź i mówiłem, że w przykładach nie znalazłem nic takiego i ewentualnie ktoś by mógł podać jakiś link... I sorry, jak to chamsko zabrzmiało :sp_ike: Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
karolo320 Opublikowano 29 Kwietnia 2012 Udostępnij Opublikowano 29 Kwietnia 2012 GML if place_free(x,y+1){ y+=4 }else{ if place_free(x+4,y){ x+=4 }else if place_free(x-4,y) x-=4 } to bedzie cos takiego Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Michał GM Opublikowano 29 Kwietnia 2012 Autor Udostępnij Opublikowano 29 Kwietnia 2012 WoW! Nie pomyślałem... :unsure: Wyszło lepiej, niż się spodziewałem :rolleyes: karolo320 rządzisz!!! :thumbsup: Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
karolo320 Opublikowano 29 Kwietnia 2012 Udostępnij Opublikowano 29 Kwietnia 2012 to przeciez nic takiego :D GML if place_free(x,y+1){ y+=4 hspeed=0 }else{ if !place_free(x+4,y){ if place_free(x-4,y){ hspeed=-4 }else{ hspeed=0 } }else if !place_free(x-4,y) hspeed=4 } to moze byc troche lepsze Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
ZyperPL Opublikowano 29 Kwietnia 2012 Udostępnij Opublikowano 29 Kwietnia 2012 ZyperPL jak nie wiesz, to się nie udzielaj :blink: ; Nosz wiem właśnie... Gdybyś dokładniej opisał, że chodzi Ci o proste kwadraciki przepływające na lewo i prawo i bym zrobił na początku (tak jak inni userzy). nie każę wam pisać silnika tylko proszę o jakąś podpowiedź W pierwszym poście nie jest to tak wyraźnie napisane. mówiłem, że w przykładach nie znalazłem nic takiego i ewentualnie ktoś by mógł podać jakiś link... Następnym razem jeśli masz coś związanego z fizyką poszukaj jakichś rozszerzeń (dll) związanych z fizyką. Chyba, że chcesz coś tak prostego jak podał karolo. I sorry, jak to chamsko zabrzmiało :sp_ike: O ja... Jak możesz tak pisać? Przecież to zdanie jest idiotyczne. Przykład: "Jesteś dzieciakiem i nie umiesz nic robić. I sorry jak to chamsko zabrzmiało." No dobra, to tylko brzmi chamsko, ale chamskie nie jest tak? :D Pozdro Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Jakim Opublikowano 29 Kwietnia 2012 Udostępnij Opublikowano 29 Kwietnia 2012 Tworzenie multum obiektów jest nieefektywne. Możesz równie dobrze zapisywać całą wodę (i wszystkie skrypty dla niej) w jednym obiekcie za pomocą listy chociażby; naprawdę nie ma potrzeby tworzenia zapychania pamięci zmiennymi typu image_alpha dla każdego z tych obiektów etc. 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ę