Muuuuczek567 Opublikowano 22 Września 2009 Udostępnij Opublikowano 22 Września 2009 Powiem krótko - nawet Dawidds nie będzie miał się do czego przyczepić :) Link: http://www.gmclan.org/up5655_12_kolko.html Sterowanie: 1 - moje rysowanie koła 2 - GM-owe rysowanie koła Aha - Mój skrypt jest wydajniejszy przy rysowaniu dużych kół. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Jaklub Opublikowano 22 Września 2009 Udostępnij Opublikowano 22 Września 2009 postanowiłem zmarnować moje jakże cenne 5 minut, które mogłem przeznaczyć na sprawdzenie pracy domowej, by pobrać, skonwertować z gmk na gm6 i przetestować to oto dzieło. twoje kółka wyglądają lepiej, ale nie wiem czy to jest wydajniejsze (tak prosto myśląc rysowanie dwudziestoczterokąta jest wydajniejsze niż wielokąta z dynamicznie dobieraną liczbą wierzchołków). edit: teorię o większej wydajności twojej metody włóż między bajki. rysowałem 100 kół na klatkę twoją i GMową metodą, o promieniu 450. twoja metoda - 15fps gmowa - 600fps cóż, twoje ładniej wygląda, ale w życiu go nie użyję do rysowania małych kół. 7/10 -> 4/5 się należy. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Muuuuczek567 Opublikowano 22 Września 2009 Autor Udostępnij Opublikowano 22 Września 2009 Ciekawe... U mnie wygląda to tak: 60 moich 450 - 8 60 GM-owych 450 - 15 Pewnie dlatego (choć nie jestem pewien), że w GM6 działa to trochę inaczej. E: Zresztą też uważam, że też bez sensu używać mojego skryptu do małych kół. Po co rysować (przy dokładności 5) 52 primitive, skoro koło GM-owe ma 24 wierzchołki... Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Tymon Opublikowano 22 Września 2009 Udostępnij Opublikowano 22 Września 2009 OK, to teraz mały materiał edykacyjny: GML // circle( x, y, r, precision ) x = argument[0]; y = argument[1]; r = argument[2]; c = 90 / argument[3]; a = c; px = r; py = 0; repeat( argument[3] ) { lx = px; ly = py; px = lengthdir_x( r, a ); py = lengthdir_y( r, a ); a += c; draw_line( x + lx, y + ly, x + px, y + py ); draw_line( x - lx, y + ly, x - px, y + py ); draw_line( x + lx, y - ly, x + px, y - py ); draw_line( x - lx, y - ly, x - px, y - py ); // dla zobrazowania sposobu rysowania sleep( 100 ); screen_refresh(); } Obrazuje sposób rysowania koła w 4 razy prostszy sposób, a dlaczego aż 4? Analizuj kod. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
fervi (Skovv) Opublikowano 23 Września 2009 Udostępnij Opublikowano 23 Września 2009 ehh...ale komu i po co to się przyda?...:D Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
I am Lord Opublikowano 23 Września 2009 Udostępnij Opublikowano 23 Września 2009 wygeneruj koło za pomocą draw_circle to zobaczysz że jest kanciaste a tutaj możesz kanciastość sobie zmieniać. ( może wyglądać lepiej lub gorzej od tego z gma ) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
fervi (Skovv) Opublikowano 23 Września 2009 Udostępnij Opublikowano 23 Września 2009 nie lepiej odpalić paint i rysnąć kółko? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Tymon Opublikowano 23 Września 2009 Udostępnij Opublikowano 23 Września 2009 Nie. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
fervi (Skovv) Opublikowano 23 Września 2009 Udostępnij Opublikowano 23 Września 2009 czemu? po co się męczyć kodem...jeszcze się trzeba przejmować czy wydajne...:D Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Tymon Opublikowano 23 Września 2009 Udostępnij Opublikowano 23 Września 2009 ... tak, przejmować się. Naprawdę myślisz, że koło narysowane w paincie o promieniu 300px będzie lepsze bo zajmuje dodatkowo pamięć o grafikę 600x600px? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Nobody Opublikowano 23 Września 2009 Udostępnij Opublikowano 23 Września 2009 A o funkcji draw_set_circle_precision(precision) zapomnieli? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Tymon Opublikowano 23 Września 2009 Udostępnij Opublikowano 23 Września 2009 Nie, mówimy o sposobie rysowania koła/okręgu. To tak jakbyś chciał zaprogramować to w C++ Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
I am Lord Opublikowano 23 Września 2009 Udostępnij Opublikowano 23 Września 2009 A o funkcji draw_set_circle_precision(precision) zapomnieli? lol w dokumentacji gma 6.1 nie ma tej funkcji. Próbowałem znaleźć po indexch i w search nie było, mimo to jak napisałem w gmie to ją pokolorował. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Platyna Opublikowano 23 Września 2009 Udostępnij Opublikowano 23 Września 2009 Easter Egg! :D Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
fervi (Skovv) Opublikowano 23 Września 2009 Udostępnij Opublikowano 23 Września 2009 jejku ale macie problem...wielki temat...o kółku...:D Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Tymon Opublikowano 23 Września 2009 Udostępnij Opublikowano 23 Września 2009 Kolejny laik. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
ZeroXbot Opublikowano 23 Września 2009 Udostępnij Opublikowano 23 Września 2009 No dobra Tymku, mam pytanie. Skrypt Muczka pozwala rysować i koła i okręgi, a twój tylko okrąg. Pytanie: Jak zrobisz koło robiac to prosciej niż skrypt Muczka? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Tymon Opublikowano 23 Września 2009 Udostępnij Opublikowano 23 Września 2009 Tak samo jak okrąg. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Jaklub Opublikowano 23 Września 2009 Udostępnij Opublikowano 23 Września 2009 bardzo proste - zamiast r robić r1 i r2. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
ZeroXbot Opublikowano 23 Września 2009 Udostępnij Opublikowano 23 Września 2009 bardzo proste - zamiast r robić r1 i r2. hę? Znaczy się tobie chodzi o taki jakby pierścień? A mi chodzi o okrąg z wypełnieniem, czyli koło. :| Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Jaklub Opublikowano 23 Września 2009 Udostępnij Opublikowano 23 Września 2009 a, pomyłka. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
I am Lord Opublikowano 23 Września 2009 Udostępnij Opublikowano 23 Września 2009 na przykładzie Tymona skryptu można zrobić pętle która wykonywała by się tyle razy ile wynosi promień i co stepa pętli zmniejszać promień rysowanego koła ale to nie wydajne. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Tymon Opublikowano 23 Września 2009 Udostępnij Opublikowano 23 Września 2009 GML // circle_filled( x, y, r, precision ) x = argument[0]; y = argument[1]; r = argument[2]; c = 90 / argument[3]; a = 0; i = 0; draw_primitive_begin( pr_trianglestrip ); repeat( argument[3] + 1 ) { px = lengthdir_x( r, a ); py = lengthdir_y( r, a ); draw_vertex( x, y ); draw_vertex( x + px, y + py ); a += c; i += 1; } draw_primitive_end(); s[0,0] = -1; s[0,1] = 1; s[1,0] = 1; s[1,1] = -1; s[2,0] = -1; s[2,1] = -1; si = 0; repeat( 3 ) { i = 0; draw_primitive_begin( pr_trianglestrip ); repeat( argument[3] + 1 ) { draw_vertex( x, y ); draw_vertex( x + px * s[si,0], y + py * s[si,1] ); i += 1; } si += 1; draw_primitive_end(); } Wybaczcie niedbalstwo, ostatnio niezły ze mnie świntuch. ;) 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ę