Filar Społeczności Chell Opublikowano 3 Listopada 2014 Filar Społeczności Udostępnij Opublikowano 3 Listopada 2014 no to ten, chciałbym zrobić ładny, nowoczesny timer odliczający ile jeszcze zostało czasu zanim gracz będzie mógł oddać kolejny strzał. Coś w tym stylu, i miałby się wypełniać, wiecie o co chodzi? nie mam pojęcia jak się do tego zabrać, ręcznie animował to będę do kwietnia, a skodzić coś takiego to ja nie umiem. Pomożecie? edit: w sumie to mam GM:S, ale przyzwyczaiłem się do pisanai w tym dziale, za wiele to nie zmienia Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
I am vader Opublikowano 3 Listopada 2014 Udostępnij Opublikowano 3 Listopada 2014 Najprostrze rozwiazanie: GML draw_set_color(kolor_wskazowki); draw_line(srodek_kola_x,srodek_kola_y,srodek_kola_x + (sin(degtorad(360 * (ile_czasu_zostalo / ile_czasu_max)))*promien),srodek_kola_y - (cos(degtorad(360 * (ile_czasu_zostalo / ile_czasu_max)))*promien)); Pojedyncza linia, ale wykombinujesz jak dalej to zrobic. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Filar Społeczności Chell Opublikowano 3 Listopada 2014 Autor Filar Społeczności Udostępnij Opublikowano 3 Listopada 2014 dzięki wielkie! Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
I am Lord Opublikowano 4 Listopada 2014 Udostępnij Opublikowano 4 Listopada 2014 GML ilosc_punktow = 64; draw_primitive_begin(pr_trianglefan); draw_vertex(srodek_kola_x, srodek_kola_y); for ( var i = 0; i <= ilosc_punktow; i++ ) { if ( (ile_czasu_zostalo / ile_czasu_max) >= (i / ilosc_punktow) ) draw_vertex(srodek_kola_x + (sin(degtorad(360 * (i / ilosc_punktow)))*promien), srodek_kola_y - (cos(degtorad(360 * (i / ilosc_punktow)))*promien) ); } draw_primitive_end(); Tylko że wskazówka porusza się skokowo. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Administratorzy gnysek Opublikowano 4 Listopada 2014 Administratorzy Udostępnij Opublikowano 4 Listopada 2014 Jak chcesz płynnie, to zoptymalizowałem - działa nawet z ułamkowymi częsciami: GML ilosc_punktow = 24; draw_primitive_begin(pr_trianglefan); draw_vertex(srodek_kola_x, srodek_kola_y); for ( var i = 0; i < (ile_czasu_zostalo / ile_czasu_max) * 360; i+= (360 / ilosc_punktow) ) { draw_vertex(srodek_kola_x + (dsin(i)*promien), srodek_kola_y - (dcos(i)*promien) ); } i = (ile_czasu_zostalo / ile_czasu_max) * 360; draw_vertex(srodek_kola_x + (dsin(i)*promien), srodek_kola_y - (dcos(i)*promien) ); draw_primitive_end(); Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
I am Lord Opublikowano 4 Listopada 2014 Udostępnij Opublikowano 4 Listopada 2014 Próbowałem wymyślić jak tu właśnie wrzucić tego ifa w for ale się mi nie udało :P Btw dsin() dcos() od kiedy są że o nich nie wiem? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Administratorzy gnysek Opublikowano 4 Listopada 2014 Administratorzy Udostępnij Opublikowano 4 Listopada 2014 Od lutego :) http://www.yoyogames.com/tech_blog/49 Edit: to o czym często się zapomina, że pętla for nie musi się zmieniać o 1. Zatem jeśli rysujemy coś w kole, w 10 krokach, to i nie musi się zwiększać o 1 od 0-10, a może o 36 od 0 do 360 :) Do niedawna też o tym często zapominałem, a potem człowiek w forze w każdym kroku np. przemnaża (powiedzmy rysuję menu). Bez sensu, jeśli to "i" nie jest nam potrzebne żeby wiedzieć który to element (a tutaj nie jest). Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
I am Lord Opublikowano 4 Listopada 2014 Udostępnij Opublikowano 4 Listopada 2014 Musiałem otexturować xD GML ilosc_punktow = 24; draw_set_color(c_white); draw_primitive_begin_texture(pr_trianglefan, tex); draw_vertex_texture(srodek_kola_x, srodek_kola_y, 0.5, 0.5); for ( var i = 0; i < (ile_czasu_zostalo / ile_czasu_max) * 360; i+= (360 / ilosc_punktow) ) { draw_vertex_texture(srodek_kola_x + (dsin(i)*promien), srodek_kola_y - (dcos(i)*promien), 0.5+dsin(i)*0.5, 0.5-dcos(i)*0.5 ); } i = (ile_czasu_zostalo / ile_czasu_max) * 360; draw_vertex_texture(srodek_kola_x + (dsin(i)*promien), srodek_kola_y - (dcos(i)*promien), 0.5+dsin(i)*0.5, 0.5-dcos(i)*0.5 ); draw_primitive_end(); Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
I am vader Opublikowano 4 Listopada 2014 Udostępnij Opublikowano 4 Listopada 2014 Wy tu nadal robicie contest na vertexy a fortek od wczoraj po prostu obraca sprite wskazowki... Czasami lepiej byc leniem. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Administratorzy gnysek Opublikowano 4 Listopada 2014 Administratorzy Udostępnij Opublikowano 4 Listopada 2014 Przy sprite, to można chyba ilość punktów jeszcze zmniejszyć, do momentu, aż nie będzie efektu przeskakiwania ostatniego vertexu gdy dodaje się kolejny trójkącik. No i można użyć sprite jak na górze - paska :) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Filar Społeczności Chell Opublikowano 4 Listopada 2014 Autor Filar Społeczności Udostępnij Opublikowano 4 Listopada 2014 chłopaki, cały trik polega na tym żeby to nie było koło tylko pierścień :( Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
I am Lord Opublikowano 4 Listopada 2014 Udostępnij Opublikowano 4 Listopada 2014 To użyj tego mojego oteksturowanego kodu, tylko środek tekstury wytnij. Taka o: Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Threef Opublikowano 4 Listopada 2014 Udostępnij Opublikowano 4 Listopada 2014 To czekaj... Ty chcesz żeby to się tak animowało jak chłopaki zrobili? Czy może nie? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Konrad-GM Opublikowano 4 Listopada 2014 Udostępnij Opublikowano 4 Listopada 2014 W połączeniu z GLSL możesz zoptymalizować ilość tych trójkątów do dwóch. Cała magia polega na operowaniu na texcoordach we fragment shaderze. Gdzieś widziałem na forum pewną implementację pomysłu Physixa, po paru modyfikacjach zadziałałoby tak jak sobie tego zażyczyłbyś ;) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Amaterasu Opublikowano 4 Listopada 2014 Udostępnij Opublikowano 4 Listopada 2014 A nie można kompletnie ignorować teksturowania trójkątów i działać na samych pikselach? Chyba można jakoś zaimplementować, żeby dany piksel rysował się albo nie, zależnie od danego kąta. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Konrad-GM Opublikowano 4 Listopada 2014 Udostępnij Opublikowano 4 Listopada 2014 A nie można kompletnie ignorować teksturowania trójkątów i działać na samych pikselach? Chyba można jakoś zaimplementować, żeby dany piksel rysował się albo nie, zależnie od danego kąta. Jeżeli chcesz całkiem zabić optymalizację, proszę bardzo ;) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Amaterasu Opublikowano 4 Listopada 2014 Udostępnij Opublikowano 4 Listopada 2014 Nie znam się na wydajności poszczególnych shaderów. Nie pomoże rozwiązywanie równań liniowych zamiast liczenia kąta dla każdego piksela? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Administratorzy gnysek Opublikowano 5 Listopada 2014 Administratorzy Udostępnij Opublikowano 5 Listopada 2014 Ja już wczoraj szukałem coś o shaderach, ale są takie długie rozwiązania że nawet nie chcę próbować tego zrozumieć... A jak już napisałem, w powyższym kodzie jak się podstawi sprite z pierwszego postu to będzie efekt taki jak zamierzony. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Filar Społeczności Chell Opublikowano 5 Listopada 2014 Autor Filar Społeczności Udostępnij Opublikowano 5 Listopada 2014 dzięki, problem rozwiązany, chociaż zachęcam do dalszej dyskusji o shaderach, vertexach i innych takich, bo forum wydaje się dzięki temu żywe Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Administratorzy gnysek Opublikowano 5 Listopada 2014 Administratorzy Udostępnij Opublikowano 5 Listopada 2014 W Unity mają taki shader "cutoff" i obrazek z alphą pomaga wyciąć, ale za cholerę nie potrafiłbym tego przenieść: http://forum.unity3d.com/threads/health-ba...13/#post-276508 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ę