当前位置: 首页 > 图文教程 > Flash动画 > Flash动画制作 > 运用for循环来对多个mc进行检测

Flash动画制作
Flash实例教程:用AS3代码表现倾斜角与斜率
Flash实例教程:用AS3代码制作交互式3D旋转动画效果
Flash cs3仿真艺术设计5.6:图形元件的同步与不同步
Flash cs3仿真艺术设计5.7:图形元件的同步应用
Flash cs3仿真艺术设计5.8:铰连身体部分
Flash实例教程:用AS2代码制作图片循环效果
Flash实例教程:AS3代码简单表现照片底片效果
Flash cs3仿真艺术设计5.9:关闭缺口_完善角色肢体连接
Flash入门实例教程:图片不间断滚动动画效果
Flash AS2实例教程:鼠标感应放大缩小图片效果
Flash AS3实例教程:鼠标跟随炫舞线条动画效果
Flash AS2实例教程:制作360度全景动画效果
Flash cs3仿真艺术设计5.10:位图动画的表现
Flash cs3仿真艺术设计5.11:导入PSD文件
Flash AS3基础教程:物理基础之速度向量(Velocity)
Flash AS3.0菜鸟学飞教程:帧循环学习实例
Flash MX 视频导入功能详解(6)
Flash教程:视频导入与编辑
Flash cs3仿真艺术设计5.12:运动引导层制作布什搞笑动画
Flash cs3仿真艺术设计5.13:人物行走动画制作技巧

Flash动画制作 中的 运用for循环来对多个mc进行检测


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-22   浏览: 39 ::
收藏到网摘: n/a

然后复制以下代码到第一桢,出效果。
_root.createEmptyMovieClip("m", 0);
with (m) {
   beginFill(0xff0000);
   moveTo(50, 0);
   for (i=Math.PI/180; i<=Math.PI*2; i += Math.PI/180) {
      lineTo(50*Math.cos(i), 50*Math.sin(i));
   }
   endFill();
   _visible = 0;
}//首先画个圆。
for (i=1; i<=7; i++) {
   M = m.duplicateMovieClip("m"+i, i);//进行多个的复制
   M.tempo = 0;//设置每个复制出来的mc内的变量的初始值
   M._x = Stage.width/40+i*70;//复制出来的mc的位置
   M._y = Stage.height/2;
   M.onEnterFrame = function() {
      if (this.hitTest(_xmouse, _ymouse, true)) {//对每个mc而言,如果检测到鼠标
         new ZoomOpen(this).jumpSkal(100, .9, .6);

//就调用弹性的方法,这里创建了对象的实例
      } else {
         new ZoomOpen(this).jumpSkal(30, .6, .5);
      }
   };
}
function ZoomOpen(mc) {//构造了个对象
   this.mc = mc;
}
ZoomOpen.prototype.jumpSkal = function(obj, besch, friktion) {

//为对象添加了弹性的方法
   this.mc.tempo += (obj-this.mc._xscale)*besch;
   this.mc.tempo *= friktion;
   this.mc._xscale = this.mc._yscale += this.mc.tempo;
};
//完成。