flash动作脚本8例.docx

上传人:b****7 文档编号:11389338 上传时间:2023-02-28 格式:DOCX 页数:20 大小:20.09KB
下载 相关 举报
flash动作脚本8例.docx_第1页
第1页 / 共20页
flash动作脚本8例.docx_第2页
第2页 / 共20页
flash动作脚本8例.docx_第3页
第3页 / 共20页
flash动作脚本8例.docx_第4页
第4页 / 共20页
flash动作脚本8例.docx_第5页
第5页 / 共20页
点击查看更多>>
下载资源
资源描述

flash动作脚本8例.docx

《flash动作脚本8例.docx》由会员分享,可在线阅读,更多相关《flash动作脚本8例.docx(20页珍藏版)》请在冰豆网上搜索。

flash动作脚本8例.docx

flash动作脚本8例

FLASH实例动作脚本8例代码集锦

1、下雨:

新键一个影片剪辑。

在里面作出来一滴雨落下得效果。

然后设置他的实例名称为“CC”然后返回到场景1。

在之后就是从库里面把那个影片剪辑托到舞台上。

在之后在第2。

3贞上面插入关键贞。

在第一贞动作里面写上

vari;i=1;

在第2贞上面写上

duplicateMovieClip("CC","CC"+i,i);m=this["CC"+i];m._x=random(550);

m._y=random(450);i=i+1;if(i==50){i=10}

第3贞上面写上

gotoAndPlay

(2);

2、下雪

将雪花拖入到主场景中,放置于舞台外,并封装为snow_mc,

在第一帧as编辑区里加入下面的AS语句:

stop();

vari;

//产生60个小雪花

for(i=1;i<60;i++){

//产生新的雪花剪辑元件

snow_mc.duplicateMovieClip("snow"+i+"_mc",i);

//新的雪花的X,Y坐标

eval("snow"+i+"_mc")._x=random(800);

eval("snow"+i+"_mc")._y=random(560);

//新的雪花的形变

scale=random(60)+50;

//不同的透明度,产生层次感

eval("snow"+i+"_mc")._alpha=scale;

//不同的大小,产生层次感

eval("snow"+i+"_mc")._xscale=scale;

eval("snow"+i+"_mc")._yscale=scale;

//加入控制雪花的AS语句

snow(eval("snow"+i+"_mc"));

}

//这个函数是用来产生一个新的雪花

functioncreateSnow(){

//深度递加

i++;

//产生实例

snow_mc.duplicateMovieClip("snow"+i+"_mc",i);

eval("snow"+i+"_mc")._x=random(800);

eval("snow"+i+"_mc")._y=random(560);

scale=random(60)+50;

eval("snow"+i+"_mc")._alpha=scale;

eval("snow"+i+"_mc")._xscale=scale;

eval("snow"+i+"_mc")._yscale=scale;

snow(eval("snow"+i+"_mc"));

}

//加入控制雪花的AS语句的函数

functionsnow(snow_mc){

snow_mc.onLoad=function(){

//舞台大小

stage_x=800;

stage_y=560;

//用来判断是否降落

this.moving=true;

//风向和风力

windx=(_xmouse-stage_x/2)/100;

};

//风向和风力随鼠标的移动而改变

snow_mc.onMouseMove=function(){

windx=(_xmouse-stage_x/2)/100;

updateAfterEvent();

};

snow_mc.onEnterFrame=function(){

//判断moving

if(this.moving){

//随机数用来产生摇摆效果

s=random

(2);

//雪花下落

this._y+=10;

if(s==0){

this._x+=5;

}elseif(s==1){

this._x-=5;

}

//加上风力

this._x+=windx;

//超出舞台就初始化

if(this._y>stage_y||this._x<0){

this._y=0;

this._x=random(stage_x);

}

//产生旋转效果

this._rotation=random(180);

}

}

}

3、点播:

在场景中添加输入文本框,使变量名为x。

设置四个影片剪辑,实例名分别为:

a、b、c、d。

帧-动作:

functionplay(name)

{tellTarget(name)

{gotoAndPlay

(2);

}}

在场景中添加按钮,按钮-动作:

on(release){name=x;this.play(name);

}

发布后,在文本框中输入实例名,按按钮就播放对应的影片剪辑。

4、画笔:

画笔一:

帧-动作:

this.createEmptyMovieClip("canvas_mc",999);

varisDrawing:

Boolean=false;

//

clear_btn.onRelease=function(){

canvas_mc.clear();

};

//

varmouseListener:

Object=newObject();

mouseListener.onMouseDown=function(){

canvas_mc.lineStyle(5,0xFF0000,100);

canvas_mc.moveTo(_xmouse,_ymouse);

isDrawing=true;

};

mouseListener.onMouseMove=function(){

if(isDrawing){

canvas_mc.lineTo(_xmouse,_ymouse);

updateAfterEvent();

}

};

mouseListener.onMouseUp=function(){

isDrawing=false;

};

Mouse.addListener(mouseListener);

建一个清除按钮,实例名:

clear_btn。

——————————————————————————————————————————————

画笔二:

帧-动作:

varempiremue=newContextMenu();

//删除原始菜单状态!

empiremue.hideBuiltInItems();

//自定义菜单项目!

empiremue.customItems.push(newContextMenuItem("鼠标写字",h1));

empiremue.customItems.push(newContextMenuItem("清除字迹",h2));

empiremue.customItems.push(newContextMenuItem("退出程序",h3,true));

empiremue.customItems.push(newContextMenuItem("退出写字",h4));

functionh3(){

fscommand("quit");

}

functionh4(){

Mouse.show();//显示鼠标

_root.clear();

//_root.pen=false;

_root.onMouseMove=function(){

updateAfterEvent();

pen._x=_root._xmouse+1200;

pen._y=_root._ymouse+800;

}}

functionh1(){

stop();

//_root.mc._visible=false;//影片不可见

varxx=Math.random()*0xFFFFFF;

//Mouse.show();//显示鼠标

_root.createEmptyMovieClip("pen",1);

pen.lineStyle(4,0x0082FF);

pen._x=200;

pen._y=200;

//浅兰色笔体

pen.beginFill(0x0082FF,100);

pen.lineTo(20,-8);

pen.lineTo(65,-8);

pen.lineTo(65,8);

pen.lineTo(20,8);

pen.lineTo(20,-8);

pen.beginFill(0x0082FF,100);

endFill(pen);

pen.beginFill(xx,100);

pen.lineStyle(4,xx)

pen.lineTo(0,0);

pen.lineTo(20,8);

pen.lineTo(20,-8);

endFill(pen);

pen._rotation=-50;

Mouse.hide();

//定义onMouseDown函数

//Math.random()*0xFFFFFF用代替可使每笔的颜色不同

_root.onMouseDown=function(){

//设定线条样式

_root.lineStyle(4,xx,100);

//绘制直线;

_root.moveTo(_root._xmouse,_root._ymouse);

//定义变量isdrawing,并赋值为真

isdrawing=true;

}

_root.onMouseMove=function(){

updateAfterEvent();

pen._x=_root._xmouse;

pen._y=_root._ymouse;

//如果变量为真

if(isdrawing==true){

  //绘制直线断

  _root.lineTo(_root._xmouse,_root._ymouse);

  //刷新画面;

  updateAfterEvent();

}

}

_root.onMouseUp=function(){

//设定变量isdrawing的值为假

isdrawing=false;

}

}

functionh2(){

Mouse.hide();

_root.clear();

}

_root.menu=empiremue;

画笔三:

用鼠标画线

onMouseDown=function(){

lineStyle(2,0*000000,100)

lineTo(_xmouse,_ymouse)

}

onMouseMove=function(){

if(a){

lineStyle(2,0x000000,100);//指定线条的粗度为2,颜色为黑色,透明度为100;

lineTo(_xmouse,_ymouse);//画线至鼠标所在位置;

}

updateAfterEvent();//强制刷新;Flash强制进行显示刷新工作。

该语句不依赖于时间帧的触发。

};

onMouseDown=function(){

a=true;//鼠标按下,给a变量赋值true,即执行上面的if后面括号内的语句,开始画线;

moveTo(_xmouse,_ymouse);//重新定位开始点;

};

onMouseUp=function(){

a=false;//鼠标松开,给a变量赋值false,不执行上面的if后面括号内的语句,停止画线;

};

画笔四:

*两点间画直线

*画螺旋线

*画正方形、圆、椭圆

*抛物线

*正弦、余弦线

使用方法:

加到帧中就可

//画直线

///x1,y1:

起点坐标

//x2,y2:

终点坐标

//k是层次

Movieclip.prototype.drawline=function(x1,y1,x2,y2,k){

this.linestyle

(1);

this.moveTo(x1,y1);

this.lineTo(x2,y2);

};

//从(0,0)到(100,100)画一条线

_root.createEmptyMovieClip("mc",10);

mc.drawline(0,0,100,100);

//画螺旋线

//w、h为宽和高

//f控制线的长短,用弧度表示

Movieclip.prototype.drawhelix=function(w,h,f){

for(vari=0;i

this.lineTo(x=Math.sin(i)*i*w,y=Math.cos(i)*i*h);

this.linestyle

(1);

}

};

//以(100,100)为中心画螺旋线

_root.createEmptyMovieClip("luo",1);

with(luo){

drawhelix(5,5,13);

_x+=100;

_y+=100;

}

//多功能函数,可画圆,椭圆,正多边形等

//n为边数

Movieclip.prototype.drawmany=function(w,h,n){

f=2*Math.PI;

for(vari=0;i<=f/n*(n+1);i+=f/n){

this.lineTo(x=Math.sin(i)*w,y=Math.cos(i)*h);

this.linestyle

(1);

}

};

//画一正五边形

_root.createEmptyMovieClip("duobian",2);

with(duobian){

drawmany(50,50,5);

_x+=250;

_y+=100;

//5为多边形的边数,6.3为2pai

}

//画一椭圆

_root.createEmptyMovieClip("tuo",3);

with(tuo){

drawmany(25,50,100);

_x+=400;

_y+=100;

}

//圆

_root.createEmptyMovieClip("yuan",4);

with(yuan){

drawmany(50,50,100);

_x+=400;

_y+=300;

}

//抛物线

Movieclip.prototype.drawparabola=function(l,r,k){

for(vari=-l;i<=r;i+=1){

this.lineTo(x=i,y=k*i*i);

this.linestyle

(1);

}

};

//调用

_root.createEmptyMovieClip("parabola",100);

with(parabola){

drawparabola(50,50,0.05);

_x+=200;

_y+=200;

//顶点坐标

}

//正弦线,余弦类似

Movieclip.prototype.drawsin=function(n,k){

for(vari=0;i<=90*n;i+=1){

this.lineTo(x=i,y=k*Math.sin(i*Math.PI/180));

this.linestyle

(1);

}

};

_root.createEmptyMovieClip("sin",101);

with(sin){

drawsin(4,50);

_x+=200;

_y+=200;

//顶点坐标

}

Movieclip.prototype.drawwave=function(w,h){

for(vari=0;i<=6.3;i+=0.01){

this.lineTo(x=w/Math.cos(i),y=h*Math.sin(i)/Math.cos(i));

this.linestyle

(1);

}

};

_root.createEmptyMovieClip("wave",105);

with(wave){

drawwave(100,100);

_x+=200;

_y+=200;

//顶点坐标

}

5、鼠标跟随时钟:

建一个实例名为ttmove的影片剪辑,其中有一个动态文本框(实例名:

textclock)和一个背景层。

把该影片剪辑放到一帧中。

帧的动作代码:

_root.onEnterFrame=function(){

//startDrag(this.ttmove,true);

ttmove._x+=(_xmouse-ttmove._x)/5;

ttmove._y+=(_ymouse-ttmove._y)/5;

//ttmove._x+=_xmouse-ttmove._x;

//ttmove._y+=_ymouse-ttmove._y;

myDate=newDate();

varseconds=myDate.getSeconds();

varminutes=myDate.getMinutes();

varhours=myDate.getHours();

varyears=myDate.getFullYear();

varmonths=myDate.getMonth()+1;

vardates=myDate.getDate();

//if(hours<12){

//ampm="AM";

//}

//else{

//ampm="PM";

//}

//while(hours>12){

//hours=hours-12;

//}

if(hours<10){

  hours="0"+hours;

}

if(minutes<10){

  minutes="0"+minutes;

}

if(seconds<10){

  seconds="0"+seconds;

}

if(months<10){

  months="0"+months;

}

if(dates<10){

  dates="0"+dates;

}

myclock.hourHand._rotation=myDate.getHours()*30+myDate.getMinutes()/2;

//hourhand2._rotation=myDate.getHours()*15+myDate.getMinutes()/4;

myclock.minuteHand._rotation=myDate.getMinutes()*6+myDate.getSeconds()/10;

myclock.secondHand._rotation=myDate.getSeconds()*6;

//monthhand._rotation=myDate.getDate()*12;

//weekhand._rotation=myDate.getDay()*51;

//now=newDate();

dagen=newArray("星期天","星期一","星期二","星期三","星期四","星期五","星期六");

day=dagen[myDate.getDay()];

ttmove.textclock.text=years+"-"+months+"-"+dates+""+day+""+hours+":

"+minutes+":

"+seconds;

};

stop();

varbgcolorp=Math.round(Math.random()*13);

_root.bgcolor.gotoAndStop(bgcolorp);

varmouseListener:

Object=newObject();

mouseListener.onMouseWheel=function(delta:

Number){

trace(delta);

myclock._xscale+=delta*3;

myclock._yscale=myclock._xscale;

if(myclock._yscale<=0){

  mycloce._yscale=1;

}

if(myclock._xscale<=0){

  myclock._xscale=1;

}

};

Mouse.addListener(mouseListener);

6、影片剪辑跟随鼠标自动缩放:

建两个影片剪辑,实例名分别是:

1、3。

建两个帧,第一帧-动作:

setProperty("1",_x,_root._xmouse/2);

setProperty("1",_y,_root._ymouse/2);

setProperty("1",_xscale,Number(_xmouse)/550*100);

setProperty("1",_yscale,Number(_ymouse)/200*100);

setProperty("3",_x,_xmouse/2);

setProperty("3",_y,_ymouse+(400-_ymouse)/2);

setProperty("3",_xscale,_xmouse/550*100);

setProperty("3",_yscale,(400-_ymouse)/200*100);

第二帧-动作:

gotoAndPlay

(1);

7、影片剪辑跟着鼠标转动:

建一个影片剪辑,影片剪辑动作:

//Thisonechouldbeprettyselfexplanatory.

//Basicallyitusesbasictrigonometrytofigureouttheangle

//atwhichtheclipshouldberotated

//Questions?

patrickmineault@sympatico.ca

onClipEvent(load){

X=this._x;

Y=this._y;

}

onClipEvent(mouseMove){

Xm=_root._xmouse;

Ym=_root._ymouse;

Xdiff=Xm-X;

Ydiff=-(Ym-Y);

radAngle=Math.atan(Yd

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 求职职场 > 简历

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1