稍微做一下改动。
attachMovie("sling", "sling_1", _root.getNextHighestDepth(), {_x:20, _y:200}); attachMovie("sling", "sling_2", _root.getNextHighestDepth(), {_x:480, _y:200}); attachMovie("ball", "ball", _root.getNextHighestDepth(), {_x:250, _y:100}); _root.createEmptyMovieClip("elastic", _root.getNextHighestDepth()); xspeed = 0; yspeed = 0; fire = false; ball.onPress = function() { fire = false; startDrag(this); }; ball.onRelease = function() { stopDrag(); fire = true; }; ball.onEnterFrame = function() { if (fire) { this._x += (xspeed*0.001); this._y += (yspeed*0.001); } }; elastic.onEnterFrame = function() { this.clear(); this.lineStyle(2, 0x009900); this.moveTo(sling_1._x, sling_1._y); if (ball._y>182) { dist_x = ball._x-sling_1._x; dist_y = ball._y-sling_1._y; distance_from_sling = Math.sqrt(dist_x*dist_x+dist_y*dist_y); elastic_length = Math.sqrt(distance_from_sling*distance_from_sling-18*18); angle = Math.atan2(dist_y, dist_x)+Math.asin(18/distance_from_sling); saved_angle = angle; this.lineTo(sling_1._x+elastic_length*Math.cos(angle), sling_1._y+elastic_length*Math.sin(angle)); this.lineTo(ball._x,ball._y); } else { this.lineTo(sling_2._x, sling_2._y); } this.moveTo(sling_2._x, sling_2._y); if (ball._y>182) { dist_x = ball._x-sling_2._x; dist_y = ball._y-sling_2._y; distance_from_sling = Math.sqrt(dist_x*dist_x+dist_y*dist_y); elastic_length = Math.sqrt(distance_from_sling*distance_from_sling-18*18); angle = Math.atan2(dist_y, dist_x)+Math.asin(18/distance_from_sling)*-1; this.lineTo(sling_2._x+elastic_length*Math.cos(angle), sling_2._y+elastic_length*Math.sin(angle)); this.lineTo(ball._x,ball._y); } else { this.lineTo(sling_2._x, sling_2._y); } }; |
.
分页: [1] [2] [3] [4]
- 上一篇:整理loading
- 下一篇:讲解Flash蓝色卡通人物的绘制