我有一个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");
}
}
})},