我似乎无法弄清楚为什么我的代码无法更新。我使用的浏览器没有控制台控件,而且我没有其他浏览器可供使用,所以我不知道到底发生了什么,除了我的所有脚本除了 onMouseUpdate/事件监听器行之外都可以工作这一事实。这是我的代码:
HTML
<canvas id="game" width="500" height="500" style="border:1px solid #000000;position:absolute;top:10px;left:10%">
JavaScript
var c = document.getElementById("game");
var ctx = c.getContext("2d");
var ballX;
var ballY;
var ballZ;
var ballXVel;
var ballYVel;
var ballZVel;
var mx=0;
var my=0;
var oldx;
var oldy;
document.addEventListener('onmousedown', onMouseUpdate, false);
function onMouseUpdate(e) {
mx = e.pageX;
my = e.pageY;
renderWorld();
}
function renderWorld(){
ctx.fillStyle = "#3355FF";
ctx.fillRect(0,0,500,380);
ctx.strokeRect(50,100,400,300);
ctx.fillStyle = "#00DD00";
ctx.fillRect(0,380,500,120);
}
function renderBall(){
ctx.beginPath();
ctx.arc(ballX,ballY,ballZ,0,2*Math.PI);
ctx.fillStyle = "#FFFFFF";
ctx.fill();
ctx.stroke();
ctx.closePath();
}
function reset(){
ballX=250;
ballY=380;
ballZ=40;
ballXVel=0;
ballYVel=0;
ballZVel=0;
}
function detectKick(){
oldx=mx;
oldy=my;
loopDetectKick();
}
function loopDetectKick(){
if(oldx==mx&&oldy==my){
setTimeout(loopDetectKick(),100);
} else{
renderWorld();
}
}
renderWorld();
reset();
renderBall();
detectKick();
最佳答案
只需更改线路
document.addEventListener('onmousedown', onMouseUpdate, false);
到
document.addEventListener("mousedown", onMouseUpdate, false);
我已将 onmousedown
更改为 mousedown
并将单引号替换为双引号。
关于javascript - 为什么我的脚本不会在鼠标单击时更新?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34214415/