我几天前开始学习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;
}
}
答案 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请求,它返回图像的所有路径,并将它们作为回调发送到预加载函数。