Jump To …

svgballs.js.coffee

main()

= require ./mylibs/circles_scene = require ./mylibs/vec

$(document).ready ->
  box = $('#ballbox')
  bw = box.width()
  bh = box.height()
  canvas = Raphael('ballbox', bw, bh);
  

Draw a circle on the page

  drawCircle = (c) ->

Create svg object if necessary

    if c.svg?
      c.svg.attr({cx: c.x(), cy: c.y()})
      if c.collided
        c.svg.attr({fill: sc.randomCircleColor()})
        c.collided = false
    else
      c.svg = canvas.circle(c.x(), c.y(), c.radius).attr({
        fill: c.color, 
        stroke: '#000', 
        'stroke-width': 2
      })
      c.svg.mouseover -> 
        c.velocity.elements[0] = -c.velocity.e(1)
        c.velocity.elements[1] = -c.velocity.e(2)
      
  sc = scene({width: bw, height: bh, drawFunc: drawCircle})
  
  $('#ballbox').click ->
    sc.toggleAnimation()
      
  $('#free').click -> sc.toggleCirclesY(true)
  $("input[name='num_balls']").change -> 
    nballs = parseInt $(this).attr('value')
    $('#nballs').text nballs
    sc.updateBallCount nballs