在flash里,如果你想用as让mc 在一定时间内运动,只有三条路(这是我知道的,哈哈)
1、onEnterFrame
2、setInterval
3、tween类
今天介绍一下onEnterFrame
onEnterFrame(MovieClip.onEnterFrame 处理函数)
onEnterFrame = function() {}
以 SWF 文件的帧频重复调用。分配给 onEnterFrame 事件处理函数的函数将在附加到受影响的帧上的所有 ActionScript 代码之前处理。
必须定义一个在调用事件处理函数时执行的函数。您可以在时间轴上定义该函数,也可以在扩展 MovieClip 类或链接到库中的元件的类文件中定义该函数。
可用性:ActionScript 1.0;Flash Player 6
下面是一个我做的一个例子:
as如下:
for(i=0;i<10;i++){
attachMovie("ball","ball"+i,this.getNextHighestDepth());
with(eval("this.ball"+i)){
_x=87.5
_y=0
_alpha=100-5*i
}
eval("this.ball"+i).num=i
eval("this.ball"+i).onEnterFrame = function () {
this._x+=8.75
this._y+=8.75
if(this._x>=175+17.5*this.num&&this._y>=87.5+17.5*this.num){
delete this.onEnterFrame
}
}
}
最后附上源代码:
该文件只允许会员下载
1、onEnterFrame
2、setInterval
3、tween类
今天介绍一下onEnterFrame
onEnterFrame(MovieClip.onEnterFrame 处理函数)
onEnterFrame = function() {}
以 SWF 文件的帧频重复调用。分配给 onEnterFrame 事件处理函数的函数将在附加到受影响的帧上的所有 ActionScript 代码之前处理。
必须定义一个在调用事件处理函数时执行的函数。您可以在时间轴上定义该函数,也可以在扩展 MovieClip 类或链接到库中的元件的类文件中定义该函数。
可用性:ActionScript 1.0;Flash Player 6
下面是一个我做的一个例子:
Flash动画
as如下:
for(i=0;i<10;i++){
attachMovie("ball","ball"+i,this.getNextHighestDepth());
with(eval("this.ball"+i)){
_x=87.5
_y=0
_alpha=100-5*i
}
eval("this.ball"+i).num=i
eval("this.ball"+i).onEnterFrame = function () {
this._x+=8.75
this._y+=8.75
if(this._x>=175+17.5*this.num&&this._y>=87.5+17.5*this.num){
delete this.onEnterFrame
}
}
}
最后附上源代码:
该文件只允许会员下载