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); }
时间: 2024-04-23 12:23:58 浏览: 69
这是一段代码,看起来是关于子弹(bullet)的移动和碰撞检测。根据代码的结构和变量名推测,代码的大致功能如下:
1. 根据鼠标点击位置和子弹初始位置计算出子弹的速度向量(_vx,_vy)。
2. 根据速度向量将子弹移动到下一个位置。
3. 检查子弹是否超出了场地(以MAP_UNIT为单位测量),如果超出了,就重新布置子弹,并添加两个小球(addqius())。
4. 如果子弹没有超出场地,就检查子弹是否与场地边缘发生碰撞。如果碰撞了,就调整子弹的速度向量并反弹。
5. 最后,如果子弹超出了场地或者与场地边缘发生碰撞,就停止子弹的运动,并等待下一次鼠标点击事件触发。
阅读全文