1
setInterval(collector, 1000/FPS);

这会调用收集器,它运行以下命令:

function collector(){
    inputinterval();
    draw();
    soundplay();
    //DEBUG FEATURES BELOW
    //console.log(mousepos);
    //console.log(mousedrag);
}

其中inputinterval有代码确定用户是否正在拖动某些东西。默认情况下,他是,但通过按空格键,它会从鼠标指针中删除元素。现在有了声音会很有趣,所以我做了以下测试来测试声音:

//SOUND
//function soundplay(){
//  if (!(mousedrag)){
//      snd_putdown.play();
//  };
//};

我现在已经将它注释掉了,因为即使没有按下鼠标按钮它也会循环。

鼠标拖动在输入函数中确定:

if (event.keyCode == 65) {
    mousedrag = true;
}
if (event.keyCode == 83) {
    mousedrag = false;
}

由于我的鼠标按钮也不起作用,因此目前被键盘输入取代。这段代码是inputinterval()收集器中调用的一部分,由 setInterval 函数调用。这会导致巨大的循环。我将如何处理声音,以便它不是循环的一部分,但确实响应用户丢弃某些东西(并将其捡起>丢弃>等......)。

提前致谢!

编辑:嗯,我现在跳过了整个零件的下降,并选择改变设计,而不是在这样的事情上打破我的头。我仍然想知道如何做到这一点,但现在它可以没有。可以在这里看到进度,以及源代码和其他内容:koewaffle.koding.com/pcgametest/index.html。

4

0 回答 0