Innoson Utilisateur confirmé: Rang ****
Messages : 927 Projet Actuel : Aller voir la bas si jy suis.
| Sujet: colorize Ven 19 Oct 2007 - 18:57 | |
| Salut ! je cherche quelque chose (dll ou autre mais je pence plutot a une dll ) qui permetee de colorizer un sprite comme la fonciton de GM dans l'editeur de sprite, DURANT le jeu, car j'aimerais bien m'en servir en dehor de l'editeur (Gmmagik fais sa mais sa donne pas comme avec GM ) merci d'avance a+ _________________
tchou tchou motherfucker |
|
notiz85 Utilisateur confirmé: Rang *****
Messages : 2004 Localisation : Vendée Projet Actuel : Moteur d'ombre pour un projet plateforme 2D...
| Sujet: Re: colorize Ven 19 Oct 2007 - 19:03 | |
| Tu peux peut être le faire toi même non ? Avec par exemple un deuxième sprite de ton sprite qui doit être colorisé, sauf qu'il est tout en blanc (ce que tu veux colorisé en fait). Ensuite tu lui appliques un blend pour changer la couleur et après tu modifies la transparence... Ce que tu veux quoi, c'est juste que sa ne modifira pas directement ton sprite mais ajoutera comme un calque. _________________ |
|
Innoson Utilisateur confirmé: Rang ****
Messages : 927 Projet Actuel : Aller voir la bas si jy suis.
| Sujet: Re: colorize Ven 19 Oct 2007 - 19:09 | |
| Enfaite je voudrais juste changer le hue, je peut pas fair comme tu me le dis notiz j'ai plus de 500 images si je doit y aller pixel par pixel pour mettre en blanc ... _________________
tchou tchou motherfucker |
|
M@d_Doc Modérateur
Messages : 6600 Localisation : 47°44'8.04 Projet Actuel : aucun
| Sujet: Re: colorize Ven 19 Oct 2007 - 20:36 | |
| Sert toi de ça : /* merci à www.gmlscripts.com */ - Spoiler:
/* ** Usage: ** sprite_replace_color(sprite,oldcolor,newcolor) ** ** Arguments: ** sprite sprite to change ** oldcolor color that will be replaced ** newcolor color used as replacement ** ** Returns: ** ( -1) on error ** ** Notes: ** This script replaces one color in a sprite with another. ** No new sprites are created, the given sprite is changed. ** ** GMLscripts.com */ { var sprite,tran,oldc,newc; sprite = argument0; oldc = argument1; newc = argument2;
var w,h,n,i,p,t,s,l,xo,yo,surf,tempsprite,newsprite,alphasprite; w = sprite_get_width(sprite); h = sprite_get_height(sprite); n = sprite_get_number(sprite); p = sprite_get_precise(sprite); s = sprite_get_smooth(sprite); l = sprite_get_preload(sprite); xo = sprite_get_xoffset(sprite); yo = sprite_get_yoffset(sprite);
surf = surface_create(w,h+1); surface_set_target(surf);
for(i=0; i<n; i+=1) { draw_clear_alpha(c_black,1); draw_set_blend_mode_ext(bm_inv_dest_color,bm_one); draw_sprite(sprite,i,xo,yo); draw_set_blend_mode(bm_normal); draw_point_color(0,h,oldc); tempsprite = sprite_create_from_surface(surf,0,0,w,h+1,p,true,s,l,xo,yo); draw_clear_alpha(newc,1); draw_sprite(tempsprite,0,xo,yo); sprite_delete(tempsprite); if (i == 0) { newsprite = sprite_create_from_surface(surf,0,0,w,h,p,0,s,l,xo,yo); if (newsprite < 0) return -1; }else{ sprite_add_from_surface(newsprite,surf,0,0,w,h); } draw_clear_alpha(c_white,1); draw_set_blend_mode_ext(bm_zero,bm_src_alpha); draw_sprite(sprite,i,xo,yo); if (i == 0) { alphasprite = sprite_create_from_surface(surf,0,0,w,h,p,0,s,l,xo,yo); if (alphasprite < 0) { sprite_delete(newsprite); return -1; } }else{ sprite_add_from_surface(alphasprite,surf,0,0,w,h); } draw_set_blend_mode(bm_normal); }
surface_reset_target(); sprite_assign(sprite,newsprite); sprite_set_alpha_from_sprite(sprite,alphasprite); sprite_delete(newsprite); sprite_delete(alphasprite); surface_free(surf); }
_________________ Tous les icones de gm utilisables sur le cbna ICI |
|
Invité Invité
| Sujet: Re: colorize Ven 19 Oct 2007 - 20:38 | |
| hum wouaw une fonctionoute prete ^^ je vais la copier dans un txt pour m'en servir |
|