16. října 2015

Surface v GML

Kreslení do surface v Game Makeru

( překlad anglického slova "surface" /m.č. surfaces/ do češtiny je "povrch" )

Pod pojmem povrch si každý asi představí něco jiného, tak bych se spíš držel anglického slova surface, které používá Game Maker. Jde o kousky dočasné paměti, do které lze v GM ukládat obrazové informace. Lze si to představit jako malá okna, do kterých jde něco vykreslit a ony si to pak pamatují.

Příklad použití surface:

Řekněme, že chci vykreslit během hry obrázek slunce vykreslováním jednotlivých paprsků pomocí funkcí draw_line a draw_circle. Fajn. Udělám něco okolo stovky paprsků a vypadá to celkem dobře - Game Maker to stíhá i rozumně vykreslit.

Jenže co když budu chtít takových sluncí víc ( ve hře třeba bude hráč sbírat sluníčka :-) )?
Z ukázky je vidět, že už tři slunce srazí FPS ( počet snímků za vteřinu ) celkem výrazně:



FPS ze tří tisíc možných kleslo na 163!
A to mám v malém okně pouhé tři objekty a nějaké to vypisování!

Pomocí surface je to zatraceně velký rozdíl!
Když si slunce ovšem vykreslím nejprve do surface, můžu ho ve hře mít spoustukrát a prakticky žádný výkon to nesežere.

Screenshot z ukázky to dokládá:

















Je vidět, že takto bych v pohodě měl mnoho sluncí a ještě by výkon zbyl.
>DOWNLOAD UKÁZKY< 

Vzhledem k tomu, že ve spolupráci s LoF vyvíjím editor, v němž půjde myší navrhnout rozmístění surfaces po ploše, objeví se zde brzy i článek, jak to dopadlo. Měly by tím jít snadno udělat zajímavé efekty. Těšte se!




Žádné komentáře:

Okomentovat

Komentář vypovídá většinou o autorovi víc, než by byl jinak ochoten sdělit.