如何提高我的js游戏的性能

时间:2013-01-31 11:54:56

标签: javascript performance

我几天前开始学习javascript并完成了codeacadmey的东西,我想我会尝试做一个简单的游戏。

所以我想出了你需要找到成对图像的记忆游戏。

一切正常,我得到了一个得分系统,但是有些人说过,一旦选择卡片以允许另一个chocie阻碍他们而发生的延迟,我无法弄清楚如何提高性能。 / p>

这里有一些代码,我认为是导致延迟的,有没有更好的方法来产生相同的结果,抱歉在我不熟悉这一切之前。

function check() {

    clearInterval(tid);

        if(people[secondchocie] === people[firstchocie]) {
            cntr++;

            (cntr === numOfMatches) {

                stop();

                score = checkScore(amountGoes); 


                $('#gameFinished').append('<p>Well done, you managed to complete the game your score is <span>' + score + '</span></p>');

                }
                turns = 0;
                return;


                } else {
                document.images[firstchocie + numOfImages].src = backcard;
                document.images[secondchocie + numOfImages].src = backcard;
                turns = 0;
                return;

                }

        }

1 个答案:

答案 0 :(得分:0)

我无法创建评论,所以我会把它放在答案中。

虽然我同意lukas.pukenis ......

如果未预先加载图像,则更改图像可能需要一些时间。要对此进行测试:在开始游戏之前,尝试将它们添加到页面中的其他位置(即使用IMG标记),将它们放入浏览器缓存中。

然后你会确定他们在缓存中。

编辑:

我最近用过这个:

var cache = [];
function preLoadImages(arrImg)
    {
    var args_len = arrImg.length;
    for (var i = args_len; i--;)
        {
        var cacheImage = document.createElement('img');
        cacheImage.src = arrImg[i];
        cache.push(cacheImage);
        }
    }
preLoadImages(['images/img1.png','images/img2.png','images/img3.png',]);

您可以添加javascript数组所需的所有图像。

如果您快速学习:),您可以执行以下操作: 如果您的页面是由php生成的,您可以让php读取整个images目录,并将页面中的文件名写为javascript代码。 或者您可以创建一个ajax请求,它返回图像的所有路径,并将它们作为回调发送到预加载函数。