我有一个drawButtons函数,它接受“ nonhover”、“ hover1”或“ hover2”的参数并绘制一个设置到画布的新按钮,并且根据它采用的参数,将绘制不同颜色的按钮。setUpGame()当我调用它时它确实有效,但当我调用它时它不起作用draw()。我想从 draw() 中调用它,因为draw()在setInterval(). 这样它可以继续检查鼠标是否悬停在按钮上并绘制适当的按钮集。
setUpGame()在任何对象或函数之外调用。在任何函数或对象之外draw()被调用。setInterval()setInterval 调用每秒绘制 80 次。
getMouseOver()另一个实际上应该由 调用的函数draw(),因为它说“如果鼠标在按钮一上:drawButtons("hover1") 等等。当我调用它时它只是不绘制按钮。
浏览器 Javascript 控制台中没有错误。我正在使用最适合我的游戏的 Chrome。
由此我们可以推断,drawButtons()在 from 调用时它的工作没有问题setUpGame()。
draw()当我从那里调用它时, as可能drawButtons()不起作用(但让我们更加困惑的是,当我从那里调用它时,displayNumbers 确实会显示数字)并且在玩游戏时它工作正常(这里我们不玩游戏,我们在开始屏幕上)。
可能有问题,getMouseOver()因为这在任何地方都不起作用。
我现在将向您展示getMouseOver()。我的程序越来越大,从一开始就展示太多内容是压倒性的。我打算让这个函数每秒被调用 80 次。
getMouseOver: function() {
window.onload = (function(){
window.onmouseover = function(e) {
// IE doesn't always have e here
e = e || window.event;
// get event location
// change the code so that it gives the relative location
var location = {
x: e.pageX - offset.x,
y: e.pageY - offset.y
};
if (location.x > 103.5 && location.x < 265.5) {
if (location.y > 240 && location.y < 291) {
nonGameContent.drawButtons("hover1");
}
}
if (location.x > 103.5 && location.x < 265.5) {
if (location.y > 160 && location.y < 212) {
nonGameContent.drawButtons("hover2");
}
}
else{
nonGameContent.drawButtons("nonHover");
}
}
})},