title: ES6 class methods not a function
body: <p>I'm messing around with Javascript "classes" and I have a paddle that has a proper method to draw, but for some reason my moveBall function is messed up.  Could anyone point out why?  I get an error saying that moveBall() is not a function. </p>
  
  <p>Edit:  I included some more code, I call init() to start it all.</p>
  
  <pre><code>class Ball {
      constructor(x, y, r, sAngle, rAngle) {
          this.x = x;
          this.y = y;
          this.r = r;
          this.sAngle = sAngle;
          this.rAngle = rAngle;
          this.speed = null;
      }
  
      drawBall() {
          ctx.beginPath();
          ctx.arc(this.x, this.y, this.r, this.sAngle, this.rAngle);
          ctx.fillStyle = "#FF0000";
          ctx.fill();
      }
      moveBall() {
          this.x += this.speed;
  
      }
  
  }
  
  
  function init() {
      var  ball = new Ball(c.height / 2, c.width / 2, 10, 0, 2 * Math.PI);
      var paddleLeft = new Paddle(0, 0, 20, 100);
      ball.ballPhysics = 1.0;
      draw(ball, paddleLeft);
      main(ball);
  }
  
  
  window.main = function (ball) {
      window.requestAnimationFrame(main);
      ball.moveBall();
      window.onload = function () {
      document.addEventListener('keydown', function (event) {
          if (event.keyCode === 65) {
  
          }
      }, false);
  }
  
  };
  </code></pre>