当前位置: 主页 > 网页制作 > Flash > 讲解Flash弹力球小游戏的制作

讲解Flash弹力球小游戏的制作

时间:2009-12-16来源:互联网 点击:

稍微做一下改动。

 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]
TAG: Flash弹力球小游戏
推荐内容最近更新人气排行
关于我们 | 友情链接 | 网址推荐 | 常用资讯 | 网站地图 | RSS | 留言