Hunter Opublikowano 22 Stycznia 2010 Udostępnij Opublikowano 22 Stycznia 2010 Ostatnio szukałem przykładu deszczu top down do mojej gierki lecz niestety nie znalazłem, więc postanowiłem napisać własny i udostępnić go, może kiedyś komuś się on przyda. W przykładzie jeden obiekt który tworzy deszcz za pomocą draw_sprite_ext(), wystarczy podać gęstość. Gęstość czy też siła opadu standardowa to 100. Jeśli ktoś chce może popróbować, mi komp zaczol odmawiać posłuszenstwa przy jakichś 20k gęstości. Screen: Download: https://gmclan.org/up4891_4_deszcz_top_down.html Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Egzekutor Opublikowano 23 Stycznia 2010 Udostępnij Opublikowano 23 Stycznia 2010 Już był bardzo podobny przykład :) Kod nawet jest czytelny, ale efekt przykładu już nie za bardzo. Jakoś nie wydaje mi się aby te kropla spadały z nieba, tylko jakby chodziły po trawie. -3/5 Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Slash (Pental) Opublikowano 23 Stycznia 2010 Udostępnij Opublikowano 23 Stycznia 2010 Właśnie efekt jest bardzo dobry i kod super czytelny, z tym że trzeba zmienić "długość deszczu" z 150 na minimum 200 no i zmienić szybkość. Wtedy efekt jest wręcz idealny :) . Piąteczka. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
don_soyer Opublikowano 23 Stycznia 2010 Udostępnij Opublikowano 23 Stycznia 2010 generalnie spoko, ale nie ma prysku przy kolizji z podłożem, i ten pusty środek... jakbyś leciał samolotem to byś zauważył, że nie ma czegoś takiego. albo jak zmiejszymy ten promień z 80 na np. 10 to znowu rogi są 'puste'. no ale kod prosty i wszystko da się zmienić dla swoich potrzeb. niejednemu się przyda Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Administratorzy gnysek Opublikowano 23 Stycznia 2010 Administratorzy Udostępnij Opublikowano 23 Stycznia 2010 Jak ustawiam małą wartośc, np. 5, to krople spadają ciągle z tego samego miejsca, a tak być nie powinno (np. jak chcę zrobić efekt od mżawki, potem kapuśniaczek, deszczyk, deszcz, ulewę i sztorm, zwiększając ilość) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
zelman Opublikowano 23 Stycznia 2010 Udostępnij Opublikowano 23 Stycznia 2010 Ciekawe... Może gdzieś się wykorzysta :) Nie mam żadnych zastrzeżeń. 5/5 Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Roki Opublikowano 24 Stycznia 2010 Udostępnij Opublikowano 24 Stycznia 2010 Napisałem swój kiedyś, ale że kropla to obiekt ;p Co do tego, może dodasz błyskwice top down? xD A sam przykład, no tak dziwne wygląda, daje... 4/5 Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Hunter Opublikowano 25 Stycznia 2010 Autor Udostępnij Opublikowano 25 Stycznia 2010 Co do tego, może dodasz błyskwice top down? xD Taa.. tylko nie jestem w stanie wyobrazić sobie takiego czegoś :D Jak ustawiam małą wartośc, np. 5, to krople spadają ciągle z tego samego miejsca, a tak być nie powinno (np. jak chcę zrobić efekt od mżawki, potem kapuśniaczek, deszczyk, deszcz, ulewę i sztorm, zwiększając ilość) Spoko w następnej wersji dodam losowość, nie pomyślałem o tym. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
don_soyer Opublikowano 25 Stycznia 2010 Udostępnij Opublikowano 25 Stycznia 2010 błyskawicy? bardzo prosta sprawa. dajesz na 'ukos' albo zamiast 'pioruna' to poprostu błysk, czyli rozjaśniasz ekran i zwiekszasz wartość alpha Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Hunter Opublikowano 25 Stycznia 2010 Autor Udostępnij Opublikowano 25 Stycznia 2010 Okej błysk to łatwiutka sprawa, ale nad błyskawicą już myśle :D thx za pomysł :D Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Roki Opublikowano 25 Stycznia 2010 Udostępnij Opublikowano 25 Stycznia 2010 Błysk jest łatwy, chodzi mi bardziej o "piorun" :P Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Hunter Opublikowano 25 Stycznia 2010 Autor Udostępnij Opublikowano 25 Stycznia 2010 Błysk jest łatwy, chodzi mi bardziej o "piorun" tongue2.gif Okej, pierdzielnie sie jakąś funkcje tworzącą błyskawicę w zależności od gęstości opadu. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Fronia1996 Opublikowano 20 Maja 2011 Udostępnij Opublikowano 20 Maja 2011 wracam po długim czasie bo mam jedno banalne pytanie jak przerobić ten kod żeby ilości deszczu nie dało się regulować? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
TheMarcQ Opublikowano 21 Maja 2011 Udostępnij Opublikowano 21 Maja 2011 usunac druga linie w create a = get_integer('Ilosc opadu :',100);//ilosc opadu standardowo na 100 Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
karolo320 Opublikowano 21 Maja 2011 Udostępnij Opublikowano 21 Maja 2011 to ja sie spytam jak zrobic zeby padalo tezna srodek? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Fronia1996 Opublikowano 22 Maja 2011 Udostępnij Opublikowano 22 Maja 2011 gdy usuwam 2 __________________________________________ ERROR in action number 1 of Create Event for object deszcz: Error in code at line 8: for ( i = 1; i < a+1; i += 1 ) ^ at position 23: Unknown variable a a gdy 1 i 2 ERROR in action number 1 of Create Event for object deszcz: Error in code at line 7: for ( i = 1; i < a+1; i += 1 ) ^ at position 23: Unknown variable a a gdy 1,2 i 7 ___________________________________________ ERROR in action number 1 of Create Event for object deszcz: Error in code at line 8: global.rain[i,0] = deszcz;//sprite deszczu ^ at position 22: Unknown variable i sprite na pewno jest i dział bez przeróbek Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
TheMarcQ Opublikowano 22 Maja 2011 Udostępnij Opublikowano 22 Maja 2011 at position 22: Unknown variable i sprite na pewno jest i dział bez przeróbek co ma variable i do sprite? ludzie... czy wy kiedykolwiek zaczniecie myslec samodzielnie? musisz samemu ustawic zamiast tej linii jak mozcy chcesz deszcz, czyli a=sila_deszczu Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Fronia1996 Opublikowano 25 Maja 2011 Udostępnij Opublikowano 25 Maja 2011 nadal nic nie rozumiem dam kod żeby nie trzba było ściągać create GML show_info(); a = get_integer('Ilosc opadu :',100);//ilosc opadu standardowo na 100 global.kolo = 360;//odpowiada 360 stopniom okregu global.RoomCenterWidth = (room_width/2);//pozycje centralne rooma global.RoomCenterHeight = (room_height/2);//pozycje centralne rooma global.RoomCenterWidth_x = global.RoomCenterWidth+80;//a to z kolei długości wektorów tutaj wektora X global.RoomCenterHeight_y = global.RoomCenterHeight+80;//a tu wektor Y for ( i = 1; i < a+1; i += 1 ) { global.rain[i,0] = kropla;//sprite deszczu global.rain[i,1] = global.kolo/a global.rain[i,2] = global.RoomCenterWidth+lengthdir_x(global.RoomCenterWidth_x,global.rain[i,1]*i);//pozycje kazdego deszczu(x) global.rain[i,3] = global.RoomCenterHeight+lengthdir_y(global.RoomCenterHeight_y,global.rain[i,1]*i);//pozycje kazdego deszczu(y) global.rain[i,4] = point_direction( global.rain[i,2], global.rain[i,3],global.RoomCenterWidth,global.RoomCenterHeight );//point direction global.Add = round(random(150));//losowosc oddalenia/przyblizenia } alpha = 1; xscale = 1; yscale = 1; Draw GML for (j=1;j<a+1;j+=1)//petla wyswietlajaca deszcz { alpha -= 0.4//alpha deszczu xscale -= round(random(0.05)); yscale -= round(random(0.05)); draw_sprite_ext(global.rain[j,0],true,global.rain[j,2],global.rain[j,3],xscale, yscale,global.rain[j,4], image_blend,alpha);//rysowanie sprite z odpowiednimi wartosciami global.Add[j] += round(random(5))+5//speed spadajacego deszczu global.rain[j,2] = global.RoomCenterWidth+lengthdir_x(global.RoomCenterWidth_x-global.Add[j],global.rain[j,1]*j);//no i wiadomo rysowanie zaktualizowanych pozycji deszczu global.rain[j,3] = global.RoomCenterHeight+lengthdir_y(global.RoomCenterHeight_y-global.Add[j],global.rain[j,1]*j);//to co wyzej if (global.Add[j] > 150) then global.Add[j] = 0; alpha = 1; xscale = 1; yscale = 1; //jesli deszcz leci "za dlugo" to zerujemy } trzeba przerobić tak żeby nie było pytanie o ilość opadów:) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Uzjel Opublikowano 25 Maja 2011 Udostępnij Opublikowano 25 Maja 2011 GML a = get_integer('Ilosc opadu :',100);//ilosc opadu standardowo na 100</span> Podpowiem, że ta linijka odpowiada za ilość opadu... Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Administratorzy gnysek Opublikowano 25 Maja 2011 Administratorzy Udostępnij Opublikowano 25 Maja 2011 Jak byś przeanalizował jakkolwiek kod, to byś wiedział, że usunąć trzeba prawą część... Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Fronia1996 Opublikowano 25 Maja 2011 Udostępnij Opublikowano 25 Maja 2011 to znaczy? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
karolo320 Opublikowano 25 Maja 2011 Udostępnij Opublikowano 25 Maja 2011 np a=100 Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Filar Społeczności ANtY Opublikowano 25 Maja 2011 Filar Społeczności Udostępnij Opublikowano 25 Maja 2011 to znaczy? Bożesz ty mój, ty to nawet w necie kozak nie jesteś create GML show_info(); a = 100; global.kolo = 360;//odpowiada 360 stopniom okregu global.RoomCenterWidth = (room_width/2);//pozycje centralne rooma global.RoomCenterHeight = (room_height/2);//pozycje centralne rooma global.RoomCenterWidth_x = global.RoomCenterWidth+80;//a to z kolei długości wektorów tutaj wektora X global.RoomCenterHeight_y = global.RoomCenterHeight+80;//a tu wektor Y for ( i = 1; i < a+1; i += 1 ) { global.rain[i,0] = kropla;//sprite deszczu global.rain[i,1] = global.kolo/a global.rain[i,2] = global.RoomCenterWidth+lengthdir_x(global.RoomCenterWidth_x,global.rain[i,1]*i);//pozycje kazdego deszczu(x) global.rain[i,3] = global.RoomCenterHeight+lengthdir_y(global.RoomCenterHeight_y,global.rain[i,1]*i);//pozycje kazdego deszczu(y) global.rain[i,4] = point_direction( global.rain[i,2], global.rain[i,3],global.RoomCenterWidth,global.RoomCenterHeight );//point direction global.Add = round(random(150));//losowosc oddalenia/przyblizenia } alpha = 1; xscale = 1; yscale = 1; Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Fronia1996 Opublikowano 26 Maja 2011 Udostępnij Opublikowano 26 Maja 2011 no więc nie usunąc lecz przerobić bo skąd by wiadomo ile ma być opadu dzięki Anty i Karolo320:) 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ę