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; }
时间: 2024-04-23 20:21:47 浏览: 14
这段代码看起来是某个消除游戏的消除动画效果实现,sameqiuTotal是一个数组,里面存储的是被消除的元素,addEventListner用于监听帧事件,startEff函数是回调函数。在startEff函数中,对数组中的元素进行了逐个下落的效果,并且透明度逐渐降低,直到透明度小于0.1时,将元素从数组和显示列表中移除,并将对应的bubbleArray中的位置设置为null,表示该位置已经没有元素了。在移除元素时,还播放了音效,并且产生了加分效果。
相关问题
if (bullet.y>MAP_UNIT*(TOTALCOL+3)) { removeChild(bullet); bullet = null; setBullet(); //加两行小球 addqius(); checkNum = 0; removeEventListener(Event.ENTER_FRAME,onFrameHandler); stage.addEventListener(MouseEvent.CLICK,clickHandler); }
这段代码的作用是实现当子弹超出地图的下边界时的处理逻辑。
首先,判断子弹的y坐标是否超出地图的下边界(即MAP_UNIT*(TOTALCOL+3))。如果超出了下边界,说明子弹已经飞出了地图范围,需要进行一些处理。
然后,先将子弹从舞台中移除,将其设置为null,然后调用setBullet()函数重新设置子弹的位置和速度。
接着,调用addqius()函数来添加两个小球。
然后,将checkNum设置为0,这个变量的作用是在后面的代码中记录小球的数量。
接下来,将当前对象从enterFrame事件中移除,并将stage的点击事件监听器设置为clickHandler。
需要注意的是,这段代码仍然缺少上下文,因此无法判断其完整的功能和作用。
if (initMouseX-MAP_UNIT/2 >= initX) { bullet.x += _vx; bullet.y += _vy; } else if (initMouseX-MAP_UNIT/2 < initX) { bullet.x += -_vx; bullet.y += -_vy; } if (bullet.x < MAP_UNIT) { bullet.x = MAP_UNIT; _vx *= -1; } else if (bullet.x>W - MAP_UNIT*2) { bullet.x = W - MAP_UNIT*2; _vx *= -1; } if (bullet.y<MAP_UNIT) { bullet.y = MAP_UNIT; _vy *= -1; } //如果超出场地重新布置子弹 if (bullet.y>MAP_UNIT*(TOTALCOL+3)) { removeChild(bullet); bullet = null; setBullet(); //加两行小球 addqius(); checkNum = 0; removeEventListener(Event.ENTER_FRAME,onFrameHandler); stage.addEventListener(MouseEvent.CLICK,clickHandler); }
这是一段代码,看起来是关于子弹(bullet)的移动和碰撞检测。根据代码的结构和变量名推测,代码的大致功能如下:
1. 根据鼠标点击位置和子弹初始位置计算出子弹的速度向量(_vx,_vy)。
2. 根据速度向量将子弹移动到下一个位置。
3. 检查子弹是否超出了场地(以MAP_UNIT为单位测量),如果超出了,就重新布置子弹,并添加两个小球(addqius())。
4. 如果子弹没有超出场地,就检查子弹是否与场地边缘发生碰撞。如果碰撞了,就调整子弹的速度向量并反弹。
5. 最后,如果子弹超出了场地或者与场地边缘发生碰撞,就停止子弹的运动,并等待下一次鼠标点击事件触发。