javascript游戏中的无限循环

时间:2013-07-24 13:16:54

标签: javascript jquery

我的jsfiddle:http://jsfiddle.net/Qfe6L/2/

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

你可以看到,如果你按下开始按钮并继续快速按空间,计数器行为很奇怪,创建的敌人数量开始变大,游戏进入某个无限循环,但我无法找到请有人帮帮我吗

2 个答案:

答案 0 :(得分:1)

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

开始时禁用按钮:

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

        startTimer();
        ReleaseEnemies()
    });

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

答案 1 :(得分:0)

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