运用for循环来对多个mc进行检测
类别: Flash教程
先看效果。
点击浏览该文件
然后复制以下代码到第一桢,出效果。
_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;
};
//完成。
点击浏览该文件
然后复制以下代码到第一桢,出效果。
_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;
};
//完成。
- 上一篇: MD5 32位码的FLASH算法
- 下一篇: 使用fscommand如何正确调用exe文件
-= 资 源 教 程 =-
文 章 搜 索