Skocz do zawartości

Cienie za pomocą surfaces?


Exigo

Rekomendowane odpowiedzi

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

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

Fajne to to ^_^ . Już opanowałem, ale jednak coś tu śmierdzi...

wtffff.jpg

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

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

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ę
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...