Filar Społeczności Chell Opublikowano 14 Kwietnia 2012 Filar Społeczności Udostępnij Opublikowano 14 Kwietnia 2012 Mimo iz Huder mowil zebym pod zadnym pozorem nie wstawial, wstawilem zeby nie bylo ze nic nie robie dla forum i tylko hejtuje. GML (draw circle fat) for (i=0; i<argument2; i+=1) draw_circle(argument0,argument1,20+0.5*i,1); /* przyklad draw_circle_fat(320,240,50) | | | x y grubosc okregu (uzywane jak zwykle draw_circle, ale ostatni argument to grubosc zamiast outline) */ GML (draw rectangle fat) draw_rectangle(argument0-argument4*0.5,argument1-argument4*0.5,argument0+argument4*0.5,argument3+argument4*0.5,0) draw_rectangle(argument0-argument4*0.5,argument1-argument4*0.5,argument2+argument4*0.5,argument1+argument4*0.5,0) draw_rectangle(argument0-argument4*0.5,argument3-argument4*0.5,argument2+argument4*0.5,argument3+argument4*0.5,0) draw_rectangle(argument2-argument4*0.5,argument1-argument4*0.5,argument2+argument4*0.5,argument3+argument4*0.5,0) /* przyklad draw_rectangle_fat(50,50,120,150,20) | | | | | x1 y1 x2 y2 grubosc (uzywane jak zwykle draw_rectangle, ale ostatni argument to grubosc zamiast outline) */ Oba skrypty mają na celu narysowanie danych figur o dowolnej grubości, nie zaś o narzuconej z góry 1px (co mnie od zawsze bolało). Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Administratorzy gnysek Opublikowano 14 Kwietnia 2012 Administratorzy Udostępnij Opublikowano 14 Kwietnia 2012 Z tym kołem, to nie wiem czy draw_line_width nie będzie bardziej optymalne. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Filar Społeczności Chell Opublikowano 14 Kwietnia 2012 Autor Filar Społeczności Udostępnij Opublikowano 14 Kwietnia 2012 Tak szczerze to to był mój eksperyment z pętlą, myślę że tu jest pokazana dość przejrzyście i łatwo z tego kodu ogarnąć o co z nią chodzi. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
karolo320 Opublikowano 14 Kwietnia 2012 Udostępnij Opublikowano 14 Kwietnia 2012 draw_rectangle_fat nie wystarczy: GML draw_rectangle(argument0-argument4*0.5,argument1-argument4*0.5,argument2+argument4*0.5,argument3+argument4*0.5,0) ? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Filar Społeczności Chell Opublikowano 14 Kwietnia 2012 Autor Filar Społeczności Udostępnij Opublikowano 14 Kwietnia 2012 Pytanie - co to twoje ma na celu? Rysuje tylko wypełniony prostokąt, a moje rysuje 4 wypełnione prostokąty (ścianki). Mógłbym zrobić to też za pomocą draw_line_width ale zostałyby w rogach puste przestrzenie i musiałbym rysować dodatkowo 4 kwadraciki (które na dodatek byłyby lekko krzywo), więc zrobiłem to tak. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Administratorzy gnysek Opublikowano 14 Kwietnia 2012 Administratorzy Udostępnij Opublikowano 14 Kwietnia 2012 Bo nie napisałeś co to robi - a wiec te dwa skrypty rysują "pogrubione" figury, zmiast o rozmiarze linii 1px. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Filar Społeczności Chell Opublikowano 14 Kwietnia 2012 Autor Filar Społeczności Udostępnij Opublikowano 14 Kwietnia 2012 Myslalem ze _fat na koncu nazw i "ostatni argument to grubosc zamiast outline" wszystko wyjasnia, ale dobra, moj blad ;p No i nie robilbym skryptu ktory jest po prostu bardziej zawila wbudowana funkcja bo to by nie mialo sensu. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
karolo320 Opublikowano 14 Kwietnia 2012 Udostępnij Opublikowano 14 Kwietnia 2012 ok Chell, zaliczylem faila :P nie mniej jednak wypelniony prostokat z gruba ramka mozna zrobic tak: GML draw_set_color(argument5) draw_rectangle(argument0-argument4,argument1-argument4,argument2+argument4,argument3+argument4,0) draw_set_color(argument6) draw_rectangle(argument0,argument1,argument2,argument3,0) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Filar Społeczności Chell Opublikowano 14 Kwietnia 2012 Autor Filar Społeczności Udostępnij Opublikowano 14 Kwietnia 2012 No tak, ale my tu mowimy o zwyklym, pustym prostokacie. Nie zrobilem czegos takiego bo nigdy specjalnie nie odczulem potrzeby zrobienia prostokata z ramka. ;p Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Sernat Opublikowano 14 Kwietnia 2012 Udostępnij Opublikowano 14 Kwietnia 2012 Dostajesz 3 za to, że nie jesteś Bedziomem. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
I am Lord Opublikowano 15 Kwietnia 2012 Udostępnij Opublikowano 15 Kwietnia 2012 GML (draw circle fat) // draw_circle_fat( x, y, r, r2, prec ) r = argument2; r2 = argument3; dir = 360/argument4; draw_primitive_begin( pr_trianglestrip ) for ( i = 0; i < 360; i += dir ) { draw_vertex(argument0 + lengthdir_x(r, i-dir), argument1 + lengthdir_y(r, i-dir)); draw_vertex(argument0 + lengthdir_x(r, i ), argument1 + lengthdir_y(r, i )); draw_vertex(argument0 + lengthdir_x(r2, i-dir), argument1 + lengthdir_y(r2, i-dir)); draw_vertex(argument0 + lengthdir_x(r2, i ), argument1 + lengthdir_y(r2, i )); } draw_primitive_end(); GML // przykład użycia: draw_circle_fat( x, y, 128, 256, 24 ); Można to zmodyfikować tak by rysował, otexturowany pierścień i nawet z cieniem. Edit: zrobiłem też otexturowany: GML // draw_circle_fat_texture( x, y, r, r2, prec, texture, Wrepeat, Hrepeat ) r = argument2; r2 = argument3; dir = 360/argument4; texture_set_repeat( true ); draw_primitive_begin_texture( pr_trianglestrip, argument5 ); for ( i = 0; i < 360; i += dir ) { X = argument0 + lengthdir_x(r, i-dir); Y = argument1 + lengthdir_y(r, i-dir); draw_vertex_texture( X, Y, X / argument6, Y / argument7 ); X = argument0 + lengthdir_x(r, i); Y = argument1 + lengthdir_y(r, i); draw_vertex_texture( X, Y, X / argument6, Y / argument7 ); X = argument0 + lengthdir_x(r2, i-dir); Y = argument1 + lengthdir_y(r2, i-dir); draw_vertex_texture( X, Y, X / argument6, Y / argument7 ); X = argument0 + lengthdir_x(r2, i); Y = argument1 + lengthdir_y(r2, i); draw_vertex_texture( X, Y, X / argument6, Y / argument7 ); } draw_primitive_end(); GML (uzycie) draw_set_color(c_white); draw_circle_fat_texture( x, y, 128, 256, 32, background_get_texture(grass), 128, 128 ); 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ę