function param1() return "筆圧透明度", 0, 1, 0 end function param2() return "間隔", 0, 100, 20 end function param3() return "長さ", 0, 100, 10 end function default_size() return 5, 1 end function main( x, y, p ) local w = bs_width() if w < 1 then w = 1 end if not firstDraw then local distance = bs_distance( lastDrawX - x, lastDrawY - y ) if distance < bs_param2() then return 0 end end local dx,dy = bs_dir() local nx,ny = bs_normal() local a = 255 * bs_opaque() * ( 1 - (1 - p) * bs_param1() ) bs_polygon( x, y + w/ 2 ) bs_polygon( x, y - w/ 2 ) bs_polygon( x + bs_param3(), y - w/ 2 ) bs_polygon( x + bs_param3(), y + w/ 2 ) local r,g,b = bs_fore() bs_polygon_move_center() bs_polygon_rotate( bs_atan( dx, dy ) ) bs_polygon_move( x, y ) bs_fill( r,g,b, a ) lastDrawX = x lastDrawY = y firstDraw = false return 1 end lastDrawX = 0 lastDrawY = 0 firstDraw = true