Skocz do zawartości

Głębokość drawa,


kyniu774

Rekomendowane odpowiedzi

to tez nic nie da. depth jest stosowany w kolejce rysowania objectow.

Odnośnik do komentarza
Udostępnij na innych stronach

prosto: tworzac wlasny drawing objectow.

od dawna planuje art o nowoczesnej i lepszej metodzie renderingu w GMie, bo defaultowa jest do niczego (kilka lat doswiadczen jej bledow), wiec moglbym w weekend cos takiego skrobnac, to bedzie mozna podejzec jak to dokladnie dziala i dlaczego jest lepsze niz domyslne gmowe rysowanie.

Odnośnik do komentarza
Udostępnij na innych stronach

Stwórz sobie obiekt rysujący jak PsichiX powiedział.

 

1. Wyłącz wszystkim obiektom Visible

2. Skopiuj ich kody malowania do skryptów, np draw_object0

3. Stwórz obiekt malujący, np o_con_draw (istnieje w roomie od początku)

4. W jego evencie malowania wyliczaj wszystkie obiekty i maluj je wg swoich ustawień:

GML (Wg kolejnosci powstania bez segregacji)
for(i = 0; i < instance_count; i += 1)

switch(instance_id)

{

case object0: draw_object0(); break;

case object1: draw_object1(); break;

case object2: draw_object2(); break;

}

GML (Wg wartosci depth)
inst[instance_count] = -1;

inst_value[instance_count] = -1000000;

for (i = 0; i < instance_count; i += 1)

{

j = 0;

while (j < i)

if (instance_id.depth > inst_value[j] break; else j += 1;

for (k = i; k > j; k -= 1)

{

inst[k] = inst[k-1];

inst_value[k] = inst_value[k-1];

}

inst[j] = instance_id;

inst_value[j] = instance_id.depth;

}

for (i = 0; i < instance_count; i += 1)

switch (inst)

{

case object0: draw_object0(); break;

case object1: draw_object1(); break;

case object2: draw_object2(); break;

}

 

Jeżeli chcesz wg innej wartości, pobierasz ją zamiast depth, jeżeli chcesz ustawić malowanie całego obiektu wg jakiegoś warunku, sprawdzasz go przy segregacji, jeżeli części obiektu, możesz dać to przy case'ach, lub w funkcji malowania przekazując jej id obiektu.

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ę...