flash动作代码大全控制影片剪辑.docx
- 文档编号:574203
- 上传时间:2022-10-11
- 格式:DOCX
- 页数:11
- 大小:68.79KB
flash动作代码大全控制影片剪辑.docx
《flash动作代码大全控制影片剪辑.docx》由会员分享,可在线阅读,更多相关《flash动作代码大全控制影片剪辑.docx(11页珍藏版)》请在冰豆网上搜索。
flash动作代码大全控制影片剪辑
flash动作代码大全-控制影片剪辑
flash动作代码大全
(二)---控制影片剪辑
控制影片剪辑
1、控制影片剪辑的播放与停止:
tellTarget命令
如:
tellTarget(“C1”)
{gotoAndStop
(2);}//跳影片剪辑实例C1的第2帧并停止。
2、拖动影片剪辑:
影片剪辑-动作:
on(release){
stopDrag();
}
on(press){
startDrag(this);
mx.behaviors.DepthControl.bringToFront(this);
}
3、固定区域内拖动影片剪辑:
影片剪辑-动作:
onClipEvent(mouseDown){startDrag(this,true,50,100,666,200);
}
onClipEvent(mouseUp){stopDrag();
mx.behaviors.DepthControl.bringToFront(this);}
4、简单的控制影片的播放、暂停、前进、后退、停止
1、打开flash,按ctrl+F8,新建立一个影片剪辑,并起名字为mc。
需要先做一个简单的移动动画的影片剪辑。
就做一个圆形的滚动效果吧。
2、回到舞台工作区,按F11打开库,将mc影片剪辑拖放到舞台中。
并给这个实例起个名字叫mc。
(现在就可以按ctrl+回车测试效果,你可以看到这个圆形一直在不停的移动。
)
3、添加脚本,现在要让这个mc在影片一开始不要自动播放,不然怎么来控制它呢。
咱们把脚本写在时间轴的关键桢上。
选中时间轴的第一桢,按F9打开动作面板,选择专家模式,输入:
_root.mc.stop();(_root代表舞台,这个脚本的意思就是,舞台上名字叫mc的实例停止播放。
)
4、现在咱们来制作几个按钮,分别表示播放、暂停、前进、后退、停止。
并摆放在舞台上。
关于按钮的制作方法我就不多介绍。
5、现在要添加控制影片的脚本。
这次把脚本直接写在舞台上这些按钮的身上。
选中播放按钮,打开动作面板,输入:
on(release){
_root.mc.play();
}
如果要在按钮身上写脚本的话,必须使用on(事件){//脚本程序}的格式来写!
上面的脚本作用就是:
当你在这个按钮上按一下鼠标(release事件)的时候,就会执行下面的_root.mc.play();程序,它的意思是让舞台上的mc开始播放!
6、同理:
咱们选中舞台上的暂停按钮,在它上面输入:
on(release){
_root.mc.stop()
}
然后依次在快退上输入:
on(release){
_root.mc.prevFrame();//prevFrame表示回到动画的上一桢
}
在快进的按钮上输入:
on(release){
_root.mc.nextFrame();
}
在停止的按钮上输入:
on(release){
_root.mc.gotoAndStop
(1);//跳到mc影片的第一桢,并停止播放!
}
好了,到现在为止就结束啦,你可以按ctrl+回车测试一下你的成果咯。
方法五:
MovieClip.prototype.mcmove=function(Object,x){
varmx=x;
onEnterFrame=function(){
Object._x+=mx;
};
};
mcmove(my_mc,5);
2、垂直方向上或向下匀速运动
以上实例的运动方向都是水平从左向右匀速运动,如果需要垂直方向上的向下匀速运动只需要把MC的_x属性改为_y。
如:
varmy=5;
this.onEnterFrame=function(){
my_mc._y+=my;
};
MovieClip.prototype.mcmove=function(Object,y){
varmy=y;
onEnterFrame=function(){
Object._y+=my;
};
};
mcmove(my_mc,5);
3、水平方向上的向左匀速运动
水平方向上的向左匀速运动,只需要将上述实例1_系列中的变量varmx=5;更改为varmx=-5;或者,将my_mc._x+=mx;更改为my_mc._x-=mx;
如:
varmx=-5;
my_mc._x=524;//初始my_mc的x坐标。
this.onEnterFrame=function(){
my_mc._x+=mx;
};
或者:
varmx=5;
my_mc._x=524;//初始my_mc的x坐标。
this.onEnterFrame=function(){
my_mc._x-=mx;
};
4、垂直方向上的向上匀速运动
垂直方向上的向下匀速运动更改为向上的匀速运动时,方法同“3、水平方向上的向左匀速运动。
”
如:
varmy=5;
my_mc._y=370;
this.onEnterFrame=function(){
my_mc._y-=my;
};
5、斜方向上的匀速运动
如:
varmx=5,my=3;
my_mc._x=0;
my_mc._y=370;
this.onEnterFrame=function(){
my_mc._x+=mx;
my_mc._y-=my;
};
6、精确起终点代码版:
vark=200;
//速率
varstartx=my_mc._x=0,starty=my_mc._y=400;
//起点坐标
varendx=550,endy=0;
//终点坐标
onEnterFrame=function(){
my_mc._x+=(endx-startx)/k;
my_mc._y+=(endy-starty)/k;
};
二、在一定范围内的来回匀速运动
⑴水平来回:
varstartx=my_mc._x=50;
//startx起点位置
varendx=450;
//endx结束位置
vardis=100;
//dis速率
vardisx=(endx-startx)/dis;
vardisy=(endy-starty)/dis;
vark0=k=1;
//k方向系数
onEnterFrame=function(){
if(my_mc._x>=endx){
k=-k;
}
if(my_mc._x<=startx){
k=k0;
}
my_mc._x+=disx*k;
my_mc._y+=disy*k;
};
⑵斜向来回:
vark0=k=1;
vardis=200;
//dis速率
varstartx=my_mc._x=50,starty=my_mc._y=300;
//起点坐标
varendx=450,endy=50;
//终点坐标
vardisx=(endx-startx)/dis;
vardisy=(endy-starty)/dis;
onEnterFrame=function(){
if(my_mc._x<=startx){
k=k0;
}
if(my_mc._x>=endx){
k=-k;
}
my_mc._x+=disx*k;
my_mc._y+=disy*k;
};
三、变速运动
1、水平方向上的变速运动
⑴减速运动
方法一:
主场景第1帧:
varendPosition=500;
vark=12;
my_mc._x=50;
my_mc._y=200;
主场景第2帧:
my_mc._x+=(endPosition-my_mc._x)/k;
主场景第3帧:
gotoAndPlay
(2);
if(my_mc._x>=(endPosition-0.6)){
my_mc._x=endPosition;
stop();
}
方法二:
varendPosition=475;
vark=12;
my_mc._x=50;
my_mc._y=200;
onEnterFrame=function(){
my_mc._x+=(endPosition-my_mc._x)/k;
if(my_mc._x>(endPosition-1)){
my_mc._x=endPosition;
deleteonEnterFrame;
}
};
如果要实现从右向左运动时,只需要稍改上述的实例减速运动2_1_1_02
varendPosition=50;
vark=12;
my_mc._x=550;
my_mc._y=200;
onEnterFrame=function(){
trace(my_mc._x);
my_mc._x+=(endPosition-my_mc._x)/k;
if(my_mc._x<=endPosition){
my_mc._x=endPosition;
deleteonEnterFrame;
}
};
特别说明:
上述的减速运动代码可广泛运用于实际中,它不仅可用于向上、下、左、右、斜向各个方向上的运动,产生缓冲效果。
也可以运用于透明度和缩放等方面。
如下面的两个例子。
另一个减速缓冲效果:
varendPosition=500;
vark=0.7;
varc=0.2;
my_mc._x=10;
my_mc._y=200;
onEnterFrame=function(){
temp=temp*k+(endPosition-my_mc._x)*c;//此公式常用
my_mc._x+=Math.round(temp);
if(Math.round(temp)==0){
my_mc._x=endPosition;
deleteonEnterFrame;
}
};
透明度上的运用:
varendAlpha=10;
vark=5;
my_mc._alpha=100;
onEnterFrame=function(){
my_mc._alpha+=(endAlpha-my_mc._alpha)/k;
if(my_mc._alpha<=endAlpha){
my_mc._alpha=endAlpha;
deleteonEnterFrame;
}
};
缩放上的运用:
varendscale=600;
vark=6;
my_mc._xscale=my_mc._yscale=1;
onEnterFrame=function(){
trace(my_mc._yscale);
my_mc._xscale=my_mc._yscale+=(endscale-my_mc._yscale)/k;
if(my_mc._yscale>=(endscale-0.1)){
my_mc.
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- flash 动作 代码 大全 控制 影片 剪辑