franniss 发表于 2009-12-11 16:40:22

空间电流特效

先创建一个脚本叫做 electricity_draw ,脚本内容见代码行。

然后在 draw 里写:
electricity_draw( x1,y1,x2,y2,8,pr_linestrip,merge_color(c_blue,c_white,.2+random(.3)),c_blue,20,7,0.1 )

/* Draws a lightning effect from x1,y1 to x2,y2 (good for electric generators)
arg0=x1
arg1=y1
arg2=x2
arg3=y2
arg4=quality
arg5=primitive
arg6=electricity-color
arg7=glow-color
arg8=glow radius
arg9=shakyness
arg10=alpha of glow
*/

draw_set_blend_mode(bm_add)

draw_primitive_begin(argument5)
draw_set_color(argument6)
draw_vertex(argument0,argument1)
for(i=argument4;i<point_distance(argument0,argument1,argument2,argument3);i+=argument4)
{
draw_set_alpha(1)
draw_vertex(argument0+(cos(degtorad(point_direction(argument0,argument1,argument2,argument3)))*i)+cos(degtorad(random(360)))*random(argument9),argument1-(sin(degtorad(point_direction(argument0,argument1,argument2,argument3)))*i)-sin(degtorad(random(360)))*random(argument9))

draw_set_alpha(argument10)
draw_circle_color(argument0+(cos(degtorad(point_direction(argument0,argument1,argument2,argument3)))*i)+cos(degtorad(random(360)))*random(argument9*0.5),argument1-(sin(degtorad(point_direction(argument0,argument1,argument2,argument3)))*i)-sin(degtorad(random(360)))*random(argument9*0.5),argument8,argument7,c_black,0)
}
draw_vertex(argument2,argument3)
draw_primitive_end()

draw_set_blend_mode(bm_normal)
页: [1]
查看完整版本: 空间电流特效