1.35a (2010/09/11)


bs_bezier_m( x, y ) 命令でサブパスを作成することで、複数パーツを持つパスや、ドーナツの穴のように抜けのある形状が描画できるようになりました。

function main( x, y, p )

  if not firstDraw then
    local distance = bs_distance( lastDrawX - x, lastDrawY - y )
    if distance < 50 then
      return 0
    end
  end

  local r,g,b = bs_fore()

  -- first path
  bs_bezier_begin( x,y )
  bs_bezier_l( x + 100, y )
  bs_bezier_l( x + 100, y + 100 )
  bs_bezier_l( x, y + 100 )
  bs_bezier_l( x, y )

  -- second path
  bs_bezier_m( x+10,y+10 )
  bs_bezier_l( x + 100-10, y+10 )
  bs_bezier_l( x + 100-10, y + 100-10 )
  bs_bezier_l( x + 10, y + 100-10 )
  bs_bezier_l( x + 10, y + 10 )

  bs_fill( r,g,b, 255 )

  lastDrawX = x
  lastDrawY = y
  firstDraw = false

  return 1
end

lastDrawX = 0
lastDrawY = 0
firstDraw = true