Comunidad Game Maker

Ayuda => Desarrollo de Scripts => Mensaje iniciado por: Texic en Junio 13, 2012, 08:15:22 PM

Título: sprite_change_color
Publicado por: Texic en Junio 13, 2012, 08:15:22 PM
Creador: Texic
Versión de Gm utilizada: :GM8:
Descripción: Este script sirve para cambiar el color de un sprite por otro. Por el momento no funciona para cambiar colores transparentes, sólo colores sólidos.
Script
//argument0=color a cambiar
//argument1=color deseado
//argument2=sprite a cambiar
var w,h,i,j,sp,count,sn;
count=1
w=sprite_get_width(argument2)
h=sprite_get_height(argument2)
xo=sprite_get_xoffset(argument2)
yo=sprite_get_yoffset(argument2)
sn=sprite_get_number(argument2)
a=surface_create(w,h)
surface_set_target(a)
draw_clear_alpha(c_white,0)
draw_sprite(argument2,0,0,0)
for (i=0;i<=h;i+=1)
{
for (j=0;j<=w;j+=1)
{
if surface_getpixel(a,j,i)=argument0 {draw_point_color(j,i,argument1)}
}
}
surface_reset_target()
sp=sprite_create_from_surface(a,0,0,w,h,0,0,xo,yo)
surface_free(a)
while sn>1 and count<>sn {
a=surface_create(w,h)
surface_set_target(a)
draw_clear_alpha(c_white,0)
draw_sprite(argument2,count-1,0,0)
for (i=0;i<=h;i+=1)
{
for (j=0;j<=w;j+=1)
{
if surface_getpixel(a,j,i)=argument0 {draw_point_color(j,i,argument1)}
}
}
surface_reset_target()
sprite_add_from_surface(sp,a,0,0,w,h,0,0)
surface_free(a)
count+=1
}
return sp


Ejemplo: Adjunto (http://www.comunidadgm.org/index.php?action=dlattach;topic=16970.0;attach=11151)
Título: Re:sprite_change_color
Publicado por: SobacoEnLlamas en Junio 13, 2012, 08:46:10 PM
sry por salirme algo del tema pero.. cómo se usa? hay algún tuto por ahi sobre los scripts?
Título: Re:sprite_change_color
Publicado por: Texic en Junio 13, 2012, 09:31:45 PM
Ahhh, me olvidé de dejar el ejemplo, gracias por hacerme acordar xD
Título: Re:sprite_change_color
Publicado por: SobacoEnLlamas en Junio 13, 2012, 09:34:07 PM
no lo veo xD jaja me adelanté? xd
Título: Re:sprite_change_color
Publicado por: Texic en Junio 13, 2012, 09:35:54 PM
Listo!