GML (ShapeCreate)
// return: shape id
var __s,__x,__y,__tx,__ty;
__s=ds_map_create()
__x=ds_list_create()
__y=ds_list_create()
__tx=ds_list_create()
__ty=ds_list_create()
ds_map_add(__s,'x',__x)
ds_map_add(__s,'y',__y)
ds_map_add(__s,'tx',__tx)
ds_map_add(__s,'ty',__ty)
return(__s)
GML (ShapeDestroy)
// argument0: shape id
ds_list_destroy(ds_map_find_value(argument0,'x'))
ds_list_destroy(ds_map_find_value(argument0,'y'))
ds_list_destroy(ds_map_find_value(argument0,'tx'))
ds_list_destroy(ds_map_find_value(argument0,'ty'))
ds_map_destroy(argument0)
GML (ShapeDraw)
// argument0: shape id
// argument1: primitive type
// argument2: texture id
var __x,__y,__tx,__ty;
__x=ds_map_find_value(argument0,'x')
__y=ds_map_find_value(argument0,'y')
__tx=ds_map_find_value(argument0,'tx')
__ty=ds_map_find_value(argument0,'ty')
draw_primitive_begin_texture(argument1,argument2)
for(i=0;i<ds_list_size(__x);i+=1)
draw_vertex_texture(ds_list_find_value(__x,i),ds_list_find_value(__y,i),ds_list_find_value(__tx,i),ds_list_find_value(__ty,i))
draw_primitive_end()
EDIT: Zaraz wracam do domu wiec po powrocie dopisze reszte funkcji lub zrobie Ci przyklad, bo zostalo pare skryptow do napisania ;p