0

我一直在尝试使用 PhoneGap 并设法创建了一个基本的记忆游戏,它将一系列数字淡入淡出,期望用户正确地重复它。只有简单的骨骼,所以在完成序列之前您不会得到任何点击确认。

游戏可以在这里访问:http: //jdtremelling.com/mobile/index.html

如果您喜欢它,出于测试目的,可以通过扫描此二维码下载该应用程序: 在此处输入图像描述

问题是当应用程序加载时,序列中只有一个数字闪烁,然后没有其他反应。就好像递归函数永远不会执行。

用随机数列表初始化 JS 数组的代码(增加每个级别的大小),然后显示第一个序列:

function initialiseArrays(){
                for(var i=4; i<9; i++){
                    var numbers = [];
                    for(var j=0; j<i; j++){
                        numbers.push(Math.floor(Math.random() * (max - min) + min));
                    }
                    allNumbers.push(numbers.slice());
                }

                fadeThemOut(allNumbers[0]);
            }

递归 JavaScript 函数:

    function fadeThemOut(children) {
var tmp = [];
   for(var i=0; i<children.length; i++){
      tmp[i] = children[i];
   }
   if (tmp.length > 0) {
      var currentChild = tmp.shift();
      switch(currentChild){
         case 1:
            $('#one').fadeOut('slow').delay( 800 ).fadeIn('slow', function() {
               fadeThemOut(tmp);
            });
            break;
         case 2:
             $('#two').fadeOut('slow').delay( 800 ).fadeIn('slow', function() {
                fadeThemOut(tmp);
             });
             break;
         case 3:
             $('#three').fadeOut('slow').delay( 800 ).fadeIn('slow', function() {
             fadeThemOut(tmp);
         });
         break;
       }
   }
}
4

1 回答 1

1

尝试改变:

fadeThemOut(allNumbers[0]);

fadeThemOut(allNumbers);
于 2013-09-03T15:27:42.327 回答