11. června 2016

Essentials Draw ( čili vykreslování )

Essentials Draw ( čili vykreslování )

no_anim(frame)
- většinou se hodí do Create eventu a vypne animaci s tím, že nechá staticky pro objekt jeden zvolený obrázek, například no_anim(5) nastaví šestý obrázek ( protože první je nula ).
clr([color],[alpha],[erase_screen])
- nastaví barvu, průhlednost (volitelně) a smaže obrazovku ( volitelně)
set_font(align_0to9,color,alpha,font__reference)
- nastaví jednou funkcí kompletní vlastnosti vypisování textu,
align je zarovnání jako na Numpadu: 5 střed, 8 nahoře, 2 dole, atd.
čili text zarovnaný zleva a výškově na střed bude 4.
color a alpha jsou barva a průhlednost
font_reference je název fontu v resource tree Game Makeru
fade_screen(color,amount)
- celou obrazovku překryje barvou o dané průhlednosti ( 0 je průhledná, 1 plná ), hodí se například na postupné zatmívání do černé
draw_sprite_button()
- vykresluje sprite jako tlačítko, čili vykreslí snímek 1 pokud je nad instancí myš, jinak 0, obrázek je dán sprite_indexem, používá mouse_on() skript a nekontroluje, zda instance sprite má ( když nemá, tak to skončí errorem z GM )
draw_ball(x,y,color)
- vykreslí stínovanou kuličku ( velikost 15.5 px )  uvedené barvy na pozici x,y
( obrázek je výřez snímku z šedého roomu po provedení draw_ball(x,y,c_red); )
skript se hodí jako reprezentace určité barvy v případě, že zatím chybí sprite
draw_crosshair(x,y,size,color)
- vykreslí zaměřovací kříž o velikosti size a barvě color do pozice x,y, průhlednost bere aktuální nastavenou
draw_surface_centered(surface_id,x,y)
- vykreslí surface tak, aby jeho střed byl v pozici x,y
surface_duplicate(surface_id)
- vytvoří kopii daného surface a vrací jeho index
ellipse_render(width,height,color1,alpha1,color2,alpha2,precision)
- vytvoří sprite obsahující vyplněnou elipsu, nějak takto:

( pozor, stínování různých průhledností bůhvíproč ( možná spíše YYGvíproč ) nefunguje správně
   - pokud to dokáže někdo opravit, ať se mi ozve, já to sem pak dám )

precision je pixelová hustota vyplňování - takže třeba 0.001

Příklad použití:
if sprite_index==-1
{ sprite_index=ellipse_render(500,200,c_red,1,c_blue,1,0.001); }
else
{ draw_sprite(sprite_index,0,room_width/2,room_height/2); }


zpět na přehled všech Essentials 2016

Žádné komentáře:

Okomentovat

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