0

几天前我开始学习 javascript 并完成了 codeacadmey 的工作,并认为我会尝试制作一个简单的游戏。

所以我想出了记忆游戏,你必须找到成对的图像。

一切正常,我建立了一个评分系统,但有些人说,一旦选择了卡片以允许另一个选择,就会出现延迟,我不知道如何提高这种性能。

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

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;

                }

        }
4

1 回答 1

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 读取整个图像目录并将页面中的文件名写入 javascript 代码。或者您可以创建一个 ajax 请求,它返回图像的所有路径并将它们作为回调发送到预加载函数。

于 2013-01-31T12:05:09.380 回答