[Autor: Rincewind ]
Eu fiquei um tempo indisponível mas eu consegui fazer 4 scripts relacionados ao 'event' DRAW. Todos eles estão com suas devidas explicações dentro deles. Aos scripts:
draw_arco(x,y,raio,angulo do arco,dir)
Eu fiquei um tempo indisponível mas eu consegui fazer 4 scripts relacionados ao 'event' DRAW. Todos eles estão com suas devidas explicações dentro deles. Aos scripts:
draw_arco(x,y,raio,angulo do arco,dir)
- Spoiler:
O GM tem uma função para desenhar círculos, entretanto não tem para arcos então eis aqui o script:
- Código:
//draw_arco(x*,y*,raio,angulo do arco,dir)
//*X e Y são na verdade as cordenadas do centro do arco caso esse fosse uma
//circunferência.
//Função para desenhar um arco
var dir;
if argument3 > 360{argument3=360}
dir = argument4
draw_primitive_begin(pr_linestrip)
repeat(argument3)
{
draw_vertex(argument0+lengthdir_x(argument2,dir),
argument1+lengthdir_y(argument2,dir))
dir +=1
}
draw_primitive_end()
- Spoiler:
A função é a mesma que o script anterior, mas dessa vez o arco vai começar em uma ponta com determinada cor e terminará com outra cor.
- Código:
//draw_arco_cor(x*,y*,raio,cor1,cor2,angulo do arco,dir,alpha)
//*X e Y são na verdade as cordenadas do centro do arco caso esse fosse uma
//circunferência.
//Função para desenhar um arco que comece em uma ponta na cor 1 e na outra ponta
//com a cor 2
var dir, cor;
if argument3 > 360{argument3=360}
dir = argument6
cor = 0
draw_primitive_begin(pr_linestrip)
repeat(argument5)
{
draw_vertex_color(argument0+lengthdir_x(argument2,dir),
argument1+lengthdir_y(argument2,dir),
merge_color(argument3,argument4,cor),
argument7)
dir += 1
cor += 1/argument5
}
draw_primitive_end()
- Spoiler:
Outra função que o GM não tem (Por ser meio inútil creio eu) que seria desenhar um campo de grids de determinado tamanho.
- Código:
//draw_grid(espaço x, espaço y)
//Desenhar grids com separação dos 'arguments' espaço x e espaço y
var xx, yy;
xx = 0;
yy = 0;
//Desenhar grids horizontais
repeat(room_height/argument1)
{draw_line(0,yy,room_width,yy)
yy += argument1}
//Desenhar grids verticais
repeat(room_width/argument0)
{draw_line(xx,0,xx,room_height)
xx += argument1}
- Spoiler:
Uma função já bem conhecida e quase clichê para desenhar um efeito de iluminação. Bom para jogos Top-Down e até Plataforma.
- Código:
//draw_luz(x,y,raio,cor)
draw_set_blend_mode(bm_max)
draw_circle_color(argument0,argument1,argument2,argument3,c_black,false)
draw_set_blend_mode(bm_normal)