1
我不能为我的生活找出为什么我的ball.x在每次调用动画函数时都不会增加0.2?我做了一个工作正常,只是自动增加,但我希望这个增加,当你按左或右。有任何想法吗??Javascript/jquery速度程序代码不会增加
<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函数中使用+ =和 - =,而不仅仅是“=”! – rikpg
@rikpg编号引用BenParsons:这不相关,因为他在绘图函数中使用ax来影响vx。 – Stijn