推荐给好友 上一篇 | 下一篇

Flash特效制作常用的源代码大放送

 

functionOxMovieClipRect(x1,y1,x2,y2,rgb,alpha){

this.beginFill(rgb,alpha);

this.moveTo(x1,y1);

this.lineTo(x1,y2);

this.lineTo(x2,y2);

this.lineTo(x2,y1);

this.lineTo(x1,y1);

this.endFill();

}

//画圆:这么bt的冬冬当然不是我写的,作者素JodyKeating

//圆心x,y,半径r

MovieClip.prototype.circle=OxMovieClipCircle;

functionOxMovieClipCircle(x,y,r){

vara=r*0.414213562;

varb=r*0.707106781;

this.moveTo(x+r,y);

this.curveTo(x+r,y-a,x+b,y-b);

this.curveTo(x+a,y-r,x,y-r);

this.curveTo(x-a,y-r,x-b,y-b);

this.curveTo(x-r,y-a,x-r,y);

this.curveTo(x-r,y+a,x-b,y+b);

this.curveTo(x-a,y+r,x,y+r);

this.curveTo(x+a,y+r,x+b,y+b);

this.curveTo(x+r,y+a,x+r,y);

}

两点间的直线移动

以下是引用片段:

vars=15;

_root.onMouseDown=function(){

varoldM_x=_root._xmouse;

varoldM_y=_root._ymouse;

ax=aa._x;

ay=aa._y;

dis=Math.sqrt((oldM_x-ax)*(oldM_x-ax)+(oldM_y-ay)*(oldM_y-ay));

xa=(oldM_x-ax)/dis;

ya=(oldM_y-ay)/dis;

amove();

};

functionamove(){

onEnterFrame=function(){

aa._x+=s*xa;

aa._y+=s*ya;

if(Math.sqrt((aa._x-ax)*(aa._x-ax)+(aa._y-ay)*(aa._y-ay))>dis){

deleteonEnterFrame;

}

};

}

计算两个对象之间/两点之间的距离(注册点)

以下是引用片段:

functiongetDistanceOf(target1,target2,x2,y2){

if(arguments.length==4){

dx=x2-target1;

dy=y2-target2;

}elseif(arguments.length==2){

dx=target2._x-target1._x;

dy=target2._y-target1._y;

}

returnMath.sqrt(dx*dx+dy*dy);

}

//Arguments 对象是一个数组,其中包含作为参数传递给任何函数的值。每次在动作脚本中调用函数时,都会为该函数自动创建 Arguments 对象。同时还会创建一个局部变量 arguments,使您可引用 arguments 对象。

让播放的MC暂停一段时间

以下是引用片段:

functionpausePlay(sec){

pfunc=function(){

this.play();

clearInterval(this.pint);

}

stop();

this.pint=setInterval(this,"pfunc",sec*1000);

}

//这样调用.sec是暂停的时间,单位是秒.

pausePlay(2);

onHitTest(target),自己写的一个MC事件,当该MC与指定的MC hitTest的时候触发事件.其实也没什么特别的地方,一样也是用setInterval来实现

以下是引用片段:


54/5<12345>
 

评分:0

我来说两句

seccode