JavaScript/jQuery速度程序代码不会增加



我不能为自己的一生而无法弄清为什么我的ball.x不会每次调用动画功能时都不会增加0.2?我做的很好,可以自动增加,但是我希望当您按左或向右时,我希望这一效果会增加。有任何想法吗??

<script>
var canvas;
var context;
var canvasWidth;
var canvasHeight;
var ball = new Ball();
ball.radius = 15;
var vx = 0;
var ax = 0;
var keyPressed;
$(document).ready(function() {
    canvas = $("#myCanvas");
    context = canvas.get(0).getContext("2d");
    canvasWidth = canvas.width();
    canvasHeight = canvas.height();     
    animate();
});
function checkKeys(e) {
    keyPressed = e.keyCode;
    console.log(keyPressed);    
    if(keyPressed == 37)
    {
        ax = -0.2;
    }
    if(keyPressed == 39)
    {
        ax = 0.2;
    }       
}

function animate() {
    window.requestAnimationFrame(animate, canvas);
    draw();
    //console.log(vx);  
};

function draw() {
    context.clearRect(0,0,canvasWidth, canvasHeight);
    ball.y = canvasHeight / 2;
    ball.x = canvasWidth / 2;
    vx = vx + ax;
    ball.x = ball.x + vx;
    console.log(ball.x);    
    ball.draw(context);                             
}

    </script>
</head>  

看来您没有调用checkKeys()-您期望从哪里调用?

最新更新