Marek.S Opublikowano 5 Lutego 2008 Udostępnij Opublikowano 5 Lutego 2008 hej. Potrzebuję pomocy z zoptymalizowaniem tego kodu: GML var rys , l; l=4 /*------------ poziome -------------*/ s = sign(w) if (s = 1)for_='return i <= w' if (s = 0)for_='break' if (s =-1)for_='return i >= w' rys=1 for (i=0; execute_string(for_); i+=1 *s ) { rys+=1 if (rys<=l){ draw_point(xx+i,yy) draw_point(xx+i,yy+h) } if (rys>=2*l)rys=0 } /*----------- pionowe --------------*/ s = sign(h) if (s = 1)for_='return j <= h' if (s = 0)for_='break' if (s =-1)for_='return j >= h' rys=1 for (j=0; execute_string(for_); j+=1 *s ) { rys+=1 if (rys<=l){ draw_point(xx,yy+j) draw_point(xx+w,yy+j) } if (rys>=2*l)rys=0 } //by Marek kod w tej postaci strasznie spowalnia pracę gm'a jak by ktoś nie mógł się skapnąć to skrypt rysuje prostokątne zaznaczenie przerywanymi liniami (coś ala w paint'cie) ;) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Cekol Opublikowano 5 Lutego 2008 Udostępnij Opublikowano 5 Lutego 2008 Ja bym radził inną metodę. zrób 2 rysunki linii. poziomą i pionową. A rysować je będziesz za pomocą draw_sprite_part. Np: GML var xx,yy,toxx,toyy; xx=argument0; yy=argument1; toxx=argument2; toyy=argument3; draw_sprite_part(spr_line1,-1,0,0,xx-toxx,1,xx,yy); draw_sprite_part(spr_line1,-1,0,0,xx-toxx,1,xx,toyy); draw_sprite_part(spr_line2,-1,0,0,1,yy-toyy,xx,yy); draw_sprite_part(spr_line2,-1,0,0,1,yy-toyy,toxx,yy); Moze nie działać bo pisałem z pamięci :P Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Dawidds Opublikowano 5 Lutego 2008 Udostępnij Opublikowano 5 Lutego 2008 Rzeczywiście niezoptymalizowany :P Zrobiłem se, żeby było zaznaczenie myszką - ścina że hoho :P Spostrzeżenia: 1) Zamiast draw_point() lepsze będzie draw_line(). 2) Ja też bym radził coś ze spritami... bo drawem ciężko... 3) To na tyle :P PS: Pomysłowo zrobione to z for_ :P Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Pieter Opublikowano 5 Lutego 2008 Udostępnij Opublikowano 5 Lutego 2008 https://gmclan.org/up44_11_x_X.html coś dla ciebie... Prosto wyjęte z mojego Belt Generatora (dzięki Tymon :*). Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Nobody Opublikowano 5 Lutego 2008 Udostępnij Opublikowano 5 Lutego 2008 Bleeee... Nie mozna zaznaczac w lewo ani w gore, tylko prawo-dol, na dodatek juz przy kliknieciu tworzy kwadracik ^^ Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Pieter Opublikowano 6 Lutego 2008 Udostępnij Opublikowano 6 Lutego 2008 To nie dla ciebie więc się mógł byś nie wypowiadać... Poza tym jak byś był chodź trochę doświadczony to byś bez problemu to dostosował do swoich potrzeb. Tu nie chodzi o funkcjonalność tylko optymalizacje -_- a to zaznaczanie myszką zrobiłem od tak na szybko żeby pokazać że to działa... Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Marek.S Opublikowano 7 Lutego 2008 Autor Udostępnij Opublikowano 7 Lutego 2008 Dzięki wszystkim (zwłaszcza Pieter'owi za exampla), jakoś poszło =) działa sprawnie do boku długości a = 1500 :D 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ę