if (sameqiuTotal[sameqiuTotal.length-1]==undefined) { trace("ye"); for (var h:uint=0; h<TOTALCOL-1; h++) { if (bubbleArray[13][h] is qiu) { gameOver(); break; } } }
时间: 2024-04-22 20:29:01 浏览: 18
这段代码中,sameqiuTotal[sameqiuTotal.length-1]==undefined表示sameqiuTotal数组中的最后一个元素是否为undefined,如果是,则表示该数组中的元素已经全部被消除了。在这种情况下,代码会遍历bubbleArray数组中最后一行的元素,如果存在未被消除的气泡,则调用gameOver函数,表示游戏结束。这种情况下,游戏失败的原因是气泡已经占满了屏幕,没有剩余空间可以放置新的气泡了。
相关问题
for (var ii:uint=0; ii<arr.length; ii++) { arr = arr.concat(searchAroundNear(bubbleArray,getRow(arr[ii]),getCol(arr[ii]))); for (var iii:int = arr.length-1; iii>-1; iii--) { if (!(arr[iii] is qiu)) { arr.splice(iii,1); } } for(var g:int=0,temp:Array=[];g<arr.length;g++){; if (temp.indexOf(arr[g])==-1) { temp.push(arr[g]); } } arr=temp; } dropLenArr.push(arr.length); if (dropLenArr[dropLenArr.length-1] == dropLenArr[dropLenArr.length-2]) { return arr; } else { search(arr); return arr; } } return arrayD; } }
这段代码是一个递归函数,用于在泡泡消除游戏中找到与指定泡泡相邻的所有相同颜色的泡泡。具体来说,该函数的输入参数为一个数组arr,表示要查找的泡泡集合;输出结果为一个数组,表示与输入数组中的泡泡相邻的所有相同颜色的泡泡。函数的主要实现流程如下:
1. 遍历数组arr中的所有泡泡,使用searchAroundNear()函数查找与每个泡泡相邻的所有相同颜色的泡泡,并将结果添加到一个新数组中。
2. 删除新数组中不是泡泡对象的元素。
3. 将新数组中重复的泡泡对象去重。
4. 将新数组作为输入参数递归调用search()函数,直到找到所有与输入数组中的泡泡相邻的所有相同颜色的泡泡。
5. 如果最新一次查找到的相邻泡泡的数量与前一次查找到的相邻泡泡的数量相同,则说明已经找到了所有相邻的泡泡,返回最终结果;否则,继续查找相邻泡泡。
需要注意的是,该函数会将每次查找到的相邻泡泡的数量记录到一个数组dropLenArr中,以便判断是否已经找到了所有相邻的泡泡。此外,该函数使用了一些辅助函数,如getRow()、getCol()和searchAroundNear(),这些函数的具体实现不在本段代码中。
if (sameqiuTotal.length>2) { checkNum =0; addEventListener(Event.ENTER_FRAME,startEff); //下面是消除时的效果 var ay:Number = 0.2; var vy:Number =0; function startEff(e:Event):void { for (var k:uint=0; k<sameqiuTotal.length; k++) { vy += ay; sameqiuTotal[k].y += vy; sameqiuTotal[k].alpha *=0.7; if (sameqiuTotal[0].alpha <0.1) { //trace("IS"); for (var kk:uint=0; kk<sameqiuTotal.length; kk++) { music.disapearSound.play(); var pointBurst:wenben = new wenben(sameqiuTotal[kk].parent,"+1",sameqiuTotal[kk].x,sameqiuTotal[kk].y); //trace(sameqiuTotal[kk].parent); removeChild(sameqiuTotal[kk]); bubbleArray[getRow(sameqiuTotal[kk])][getCol(sameqiuTotal[kk])] = null; sameqiuTotal[kk] = null; }
这段代码看起来是某个消除游戏的消除动画效果实现,sameqiuTotal是一个数组,里面存储的是被消除的元素,addEventListner用于监听帧事件,startEff函数是回调函数。在startEff函数中,对数组中的元素进行了逐个下落的效果,并且透明度逐渐降低,直到透明度小于0.1时,将元素从数组和显示列表中移除,并将对应的bubbleArray中的位置设置为null,表示该位置已经没有元素了。在移除元素时,还播放了音效,并且产生了加分效果。
相关推荐
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![raw](https://img-home.csdnimg.cn/images/20210720083646.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)