Voila mon script qui permet de dessinner une ligne avec des alpha
Ce script fonctionne mais je trouve qu'il demande bouceaup trop de calculs, mais je sais pas comment régler le problème.
Car déjà au début je la dessinnais point par point, mais au bout de plusieurs lignes le processeur saturé, donc j'ai décomposé ma ligne en petite ligne.
Donc si qulequ'un trouve comme alléger mon script ça serait super !
Sinon le script s'appelle comme ça:
draw_line_color_alpha(x1,y1,x2,y2,c1,c2,a1,a2)
//variables de coordonnées (x,y) et couleurs des lignes
var x1; x1=argument0;
var y1; y1=argument1;
var c1; c1=argument4;
var x2;
var y2;
var c2;
//X coefficiant directeur de l'équation x2=f(i) (de meme pour Y avec yp=f(i))
var angle; angle=degtorad(point_direction(argument0,argument1,argument2,argument3));
var X; X=cos(angle);
var Y; Y=-sin(angle);
//nombre de points à calculer
var division; division=point_distance(argument0,argument1,argument2,argument3);
//décomposition des 2 couleurs celon leurs consposantes RGB
var c1r; c1r=color_get_red(argument4);
var c1g; c1g=color_get_green(argument4);
var c1b; c1b=color_get_blue(argument4);
var c2r; c2r=color_get_red(argument5);
var c2g; c2g=color_get_green(argument5);
var c2b; c2b=color_get_blue(argument5);
//R coefficiant directeur de l'équation "composante rouge"=f(i) (de meme pour G et B)
var R; R=(c2r-c1r)/division
var G; G=(c2g-c1g)/division
var B; B=(c2b-c1b)/division
var i;
for(i=1;i<=division;i+=round(division/10))
{
x2=argument0+i*X
y2=argument1+i*Y
c2=make_color_rgb(c1r+R*i,c1g+G*i,c1b+B*i)
draw_set_alpha((argument7-argument6)*(i/division)+argument6);
draw_line_color(x1,y1,x2,y2,c1,c2);
x1=x2;
y1=y2;
c1=c2;
}