Exigo Opublikowano 9 Maja 2009 Udostępnij Opublikowano 9 Maja 2009 Towarzysze! Podstawowym elementem robienia cieni jest zazwyczaj rysowanie "obok, drugi raz"- tzn. dodawanie drugiej linijki kodu z prześwitem wraz z czarnym blendowaniem. Lecz co, jeśli mam tych spritów multum? Pisać pod każdym kodem rysowanie cienia?... To nie wszystko - rysuje się też coś za pomocą vertexów, przez to będę musiał skopiować sporą część kodu... - nie może być! :o Gdzieś mi się obiło o oczy że można zrobić cienie za pomocą surfaces - tzn. że jakoś się pobiera warstwę rysowania, po czym rzutuje się kilka pixeli dalej. Da się zmajstrować coś takiego? ^_^ Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Konrad-GM Opublikowano 9 Maja 2009 Udostępnij Opublikowano 9 Maja 2009 Ależ oczywiście! 1. Tworzysz surface 2. Rysujesz na nim czarne cienie obiektów 3. Rysujesz surfacea z ustawioną alphą Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Exigo Opublikowano 9 Maja 2009 Autor Udostępnij Opublikowano 9 Maja 2009 Hah.., łatwo powiedzieć z twojej strony - niestety na surface'ach się nie znam.. Ba!, nawet nie miałem styczności z nimi. xP Można by bardziej... hm, "konkretnie"? ^^ - Peace! Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Dawidds Opublikowano 9 Maja 2009 Udostępnij Opublikowano 9 Maja 2009 Create surf = surface_create(640, 480); //Badz mniejszy - raczej nie rob surface'sow na calego rooma surface_set_target(surf); draw_clear_alpha(c_white, 1); surface_reset_target(); Step/Draw surface_set_target(surf); //Od teraz wsyzstko malujesz nie na ekranie, a na surface'sie. Surfaca mozna porownac do jakby obrazka w Paintcie - jak cos na nim namalujesz, to to tam zostanie :P draw_text(5, 5, "hello world, lol"); surface_reset_target(); //Koniec malowania po surface'sie Draw draw_surface(surf, 0, 0); //Nie jestem pewny kolejnosci argumentow Sory, nie chce mi sie gmlów dodawać :D Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Makary155 Opublikowano 10 Maja 2009 Udostępnij Opublikowano 10 Maja 2009 Na yoyo kiedyś widziałem Pheonix lighting engine, możesz spróbować znaleźć. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Exigo Opublikowano 10 Maja 2009 Autor Udostępnij Opublikowano 10 Maja 2009 Fajne to to ^_^ . Już opanowałem, ale jednak coś tu śmierdzi... To drzewo - rysowane na vertexach, jak widać... się rozmazuje. Jak to naprawić? @Makary - Wolę jednak wykombinować to samemu, bez zbędnych syfów - jak to bywa w "fajnych" przykładach. ;) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Nobody Opublikowano 10 Maja 2009 Udostępnij Opublikowano 10 Maja 2009 A czy przed rysowaniem cienia na surface czyścisz go? Jeżeli nie - to jest właśnie ten problem :P Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Exigo Opublikowano 10 Maja 2009 Autor Udostępnij Opublikowano 10 Maja 2009 Eeee... Yyyy... Jak się czyści? xP Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
PsichiX Opublikowano 10 Maja 2009 Udostępnij Opublikowano 10 Maja 2009 przed ponownym rysowaniem czyli tuz po surface_set_target dajesz draw_clear(c_black) albo to co ja stosuje: draw_clear_alpha(c_black,0) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Exigo Opublikowano 10 Maja 2009 Autor Udostępnij Opublikowano 10 Maja 2009 Dzięki, chodzi jak w zegarku - ale jeszcze jedno pytanie. Jak "przemalować" całą surface na jakąś barwę?... Np. że kolorowy sprite rysuje się na czarno. ;d Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Dawidds Opublikowano 10 Maja 2009 Udostępnij Opublikowano 10 Maja 2009 Dokładnie tak, jak sprity... :| Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Exigo Opublikowano 10 Maja 2009 Autor Udostępnij Opublikowano 10 Maja 2009 draw_set_color(); ? Ależ oczywiście że nie działa - bym nie pytał. x) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Cekol Opublikowano 10 Maja 2009 Udostępnij Opublikowano 10 Maja 2009 draw_surface_ext ? :D No poszukaj w dokumentacji ;p Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Exigo Opublikowano 10 Maja 2009 Autor Udostępnij Opublikowano 10 Maja 2009 Fak! To działa! Dzięki wszystkim za pomoc. ;) 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ę