0

my jsfiddle:http://jsfiddle.net/Qfe6L/2/

 $(window).keypress(function (e) {
            if (e.which == 32) {
                CreateChuriken();
                $(".Shuriken").animate({ left: '+=300px' }, 'slow');
            }
        });

as you can see if you hit on start button and keep on pressing space in a fast way the counter act weird and the amount of enemies created start to be massive the game enter an infinite loop somewhere but i can't find where can anyone help me please

4

2 回答 2

1

每次单击开始按钮时,您都会创建一个新的超时,这会设置一个 60 秒的生成敌人的窗口并增加计数器。如前所述,当您按空格进行攻击时,如果按钮具有焦点,也可以按开始按钮。

启动时禁用按钮:

    $("#Start").click(function () {
        $('#Start').attr('disabled', 'disabled');

        startTimer();
        ReleaseEnemies()
    });

这将避免有效地运行游戏逻辑的多个“副本”。

于 2013-07-24T14:32:14.487 回答
0

如果您在按钮获得焦点时按空格键,浏览器会将其计为一次点击。
根据我的经验,多次点击开始按钮会导致您描述的问题。
尝试在初始(disable它,也许)之后消除进一步的点击。

于 2013-07-24T14:18:15.560 回答