gravity = 2; fired = 0; max_firepower = 3; place_enemy(); attachMovie("crosshair", "crosshair", 1); attachMovie("tank", "tank", 2, {_x:295, _y:255}); attachMovie("ground", "ground", 3, {_x:0, _y:200}); crosshair.onEnterFrame = function() { this._x = _xmouse; this._y = _ymouse; }; tank.onEnterFrame = function() { mousex = _xmouse-this._x; mousey = (_ymouse-this._y)*-1; angle = Math.atan(mousey/mousex)/(Math.PI/180); if (mousex<0) { angle += 180; } if (mousex>=0 && mousey<0) { angle += 360; } if (angle>160) { angle = 160; } if (angle<20) { angle = 20; } firepower = Math.sqrt(mousex*mousex+mousey*mousey); if (firepower>200) { firepower = 200; } this.cannon._rotation = angle*-1; }; function onMouseDown() { if (fired<max_firepower) { fired++; angle = tank.cannon._rotation-1; start_ball_x = tank._x+48*Math.cos(angle*Math.PI/180); start_ball_y = tank._y+48*Math.sin(angle*Math.PI/180); cannonball_fired = attachMovie("cannonball", "cannonball_"+_root.getNextHighestDepth(), _root.getNextHighestDepth(), {_x:start_ball_x, _y:start_ball_y}); cannonball_fired.dirx = Math.cos(angle*Math.PI/180)*firepower; cannonball_fired.diry = Math.sin(angle*Math.PI/180)*firepower; cannonball_fired.onEnterFrame = function() { this.diry += gravity; this._x += this.dirx/30; this._y += this.diry/30; if ((this._y>350) or (ground.hitTest(this._x, this._y, true))) { this.removeMovieClip(); fired--; } if (enemy.hitTest(this._x, this._y, true)) {
上一篇:入门:Flash制作图片爆炸效果动画
下一篇:Flash制作好看的影片指导进度条
|