我不能为自己的一生而无法弄清为什么我的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()
-您期望从哪里调用?