Comunidad Game Maker

Ayuda => Desarrollo de Scripts => Mensaje iniciado por: LuisYx en Noviembre 08, 2009, 06:37:21 AM

Título: Dibujar Primitivas Poligonales
Publicado por: LuisYx en Noviembre 08, 2009, 06:37:21 AM
Nombre del creador: LuisYX
Descripci?n: Dibuja Poligonos primitivos, indicando cuantos
lados(caras) debe tener y asi crear desde triangulos hasta cuadrados o pentagonos.
Nota: No deben utilizar los valores 1 y 2 para crear los lados ya que trabara
la maquina y se reiniciara el ordenador.
Versi?n GM:  :GM6:  :GM7: PRO

C?digo del Script:
aap_primitiva_inicial

/* [Creador LuisYX]
   para cualquie comunidad
   de uso del Game Maker.
   Dar CREDITOS.          */



// Argumento Opcional: Tipo de primitiva. Si no hay ning?n tipo de Primitiva,
// entonces s?lo ser? una tira lineal.
if argument {
    draw_primitive_begin(argument0);
    aap_prim = 1;
} else aap_prim = 0;
p_num=0;


aap_primitiva_terminal:
// Argumento cerrado [True/False]
if aap_prim draw_primitive_end();

if p_num == 0 exit;
var itm;
itm=1;
repeat(p_num-1){
draw_linea_aa(p_x[itm],p_y[itm],p_x[itm-1],p_y[itm-1]);
itm+=1;
}
if argument0 draw_linea_aa(p_x[p_num-1],p_y[p_num-1],p_x[0],p_y[0]);


aap_vertex:
// Argumentos  x & y
if aap_prim draw_vertex(argument0,argument1);
p_x[p_num]=argument0;
p_y[p_num]=argument1;
p_num+=1;


draw_linea_aa:
// x, y, x2, y2
// NOTA: necesario para las primitivas aa_prims
draw_sprite_ext(spr_linea_aa,0,argument0,argument1,point_distance(argument0,argument1,argument2,argument3),1,point_direction(argument0,argument1,argument2,argument3),draw_get_color(),draw_get_alpha());


Dejo ejemplo Adjunto para que vean como funciona.
Título: Re: Dibujar Primitivas Poligonales
Publicado por: Ciberman en Noviembre 12, 2009, 12:51:13 AM
no entiendo lo que hace... es una forma m?s facil de dibujo de primitivas? para eso uso primitivas...