javascript "este" palabra clave no se refiere a la cosa correcta

var ball = {
    x: 20,
    y: 500,
    vx: 100,
    vy: 100,
    width: 13,
    height: 13,
    draw: function() { 
        var img = new Image();  
        img.src = 'images/ball.png';  
        img.onload = function(){  
            ctx.drawImage(img, this.x, this.y);  
        };
    },

Quiero que la línea de código drawImage () se refiera a ball.x y ball.y. En lugar de usar ball.x y ball.y, quiero usar la palabra clave "this" para que pueda convertir el objeto ball en una función que sea un constructor / prototipo de masa si termino queriendo (capaz de hacer ball1, ball2 , ball3 etc.). Creo que "esto" ya no se refiere a la pelota porque está en una función anidada? ¿Hay alguna forma de evitar eso sin la codificación rígida de ball.x y ball.y en los argumentos drawImage?

Respuestas a la pregunta(3)

Su respuesta a la pregunta