Javascript jquerykeydown事件使球消失

Javascript jquerykeydown事件使球消失,javascript,jquery,event-handling,keydown,Javascript,Jquery,Event Handling,Keydown,这是我第一次使用jQuery的keydown事件。我听从了讲师的指示,但活动仍然无法正常进行。我尽我所能尝试了一切 应用程序执行,但每次我按下箭头键,移动的球就会消失在稀薄的空气中。箭头键用于增加/减少移动球的速度 //获取id为canvasOne的元素的句柄。 var canvas=document.getElementById(“球的画布”); //获取画布的二维上下文。 var ctx=canvas.getContext(“2d”); //球的垂直位置。 变量y=15; var x=25

这是我第一次使用jQuery的
keydown
事件。我听从了讲师的指示,但活动仍然无法正常进行。我尽我所能尝试了一切

应用程序执行,但每次我按下箭头键,移动的球就会消失在稀薄的空气中。箭头键用于增加/减少移动球的速度

//获取id为canvasOne的元素的句柄。
var canvas=document.getElementById(“球的画布”);
//获取画布的二维上下文。
var ctx=canvas.getContext(“2d”);
//球的垂直位置。
变量y=15;
var x=25;
//球的数据
var-ballRadius=20;
var ySpeed=1;
var xSpeed=1;
var切片=7;
班级舞会{
构造函数(x、y、球半径、y速度、x速度、切片){
这个.x=x;
这个
这个。_ballRadius=ballRadius;
这个。_ySpeed=ySpeed;
这个.xSpeed=xSpeed;
这个。_切片=切片;
}//endConstructor
//速度设定器
设置垂直速度(val){
这个._ySpeed=val;
}
//y型吸气剂/塞特剂
获取垂直位置(){
把这个还给我;
}
//xSpeed设置器
设置水平速度(val){
这个.xSpeed=val;
}
//y型吸气剂/塞特剂
获取水平位置(){
把这个还给我;
}
//在函数前面不需要'function'关键字--注意以后
塔威尔(){
//用于切片沙滩球的变量
var-newX=20;
var-newY=20;
var i=0;
ctx.beginPath();
//外圈
弧(这个.x,这个.y,这个.ballRadius,0,2*Math.PI);
//内圈(用于沙滩球)
ctx.arc(this.x,this.y,this.ballRadius*0.85,0,2*Math.PI);
//从中心到边缘画线
ctx.moveTo(这个.x,这个.y);
ctx.lineTo(此._x+此._半径,此._y);
ctx.stroke();
//循环绘制切片
对于(i=1;icanvas.height){
myBall.VerticleSpeed=-ySpeed;
}else if(myBall.VerticlePosition canvas.width){
myBall.HorizontalSpeed=-xSpeed;

}否则,如果(myBall.HorizontalPosition您正试图将数学运算直接应用于修改器get和set(HorizontalSpeed/VerticalSpeed

尝试将此行更新为

myBall._ySpeed--;

myBall._ySpeed--;
myBall.HorizontalSpeed(myBall._ySpeed--);