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); removeChild(sameqiuTotal[kk]); bubbleArray[getRow(sameqiuTotal[kk])][getCol(sameqiuTotal[kk])] = null; sameqiuTotal[kk] = null; }
时间: 2023-12-30 18:04:45 浏览: 115
这段代码是在消除同色气泡时,遍历sameqiuTotal数组中的元素,播放消除音效,产生加分效果,然后从显示列表中移除元素,将对应的bubbleArray中的位置设置为null,表示该位置已经没有元素了,最后将sameqiuTotal数组中的元素也设置为null。这样做的目的是为了释放内存,避免可能的内存泄漏问题。
相关问题
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,表示该位置已经没有元素了。在移除元素时,还播放了音效,并且产生了加分效果。
or (var r:uint=0; r<bubbleArray.length; r++) { for (var c:uint=0; c<TOTALCOL; c++) { if (bubbleArray[r][c] is qiu) { bubbleArray[r][c].y +=60; } } }
这段代码是一个嵌套的for循环,用于将二维数组bubbleArray中所有类型为qiu的元素的y坐标值增加60。具体流程如下:
1. 外层循环使用变量r遍历bubbleArray数组的所有行。
2. 内层循环使用变量c遍历当前行中的所有列。
3. 如果bubbleArray[r][c]是一个类型为qiu的对象,则将该对象的y坐标值增加60。
可以看出,这段代码旨在将二维数组bubbleArray中所有的qiu对象向下移动一行,使它们在界面上看起来像是下落了一格。其中,qiu对象可能是游戏中的一个泡泡或球体等元素,具体取决于游戏的实现。
阅读全文