Flash AS代码编写模拟打字效果的动画特效
网站建设 2021-07-03 14:35www.dzhlxh.cn网站建设
本教程主要用Flash来制作两方面的特效,开始模拟打字效果的动画,然后是制作害怕鼠标的文字动画特效,主要都是用AS代码来完成的,喜欢这种效果的朋友一起来学习吧
详细代码:
复制代码
代码如下:var str:String="秋天,公园里可美丽啦!各种菊花开了,有红的,有黄的,有白的,还有紫的,漂亮极了。桂花也开了,小小的,黄黄的,还发出一阵阵香味儿。梧桐树的叶子黄了,一片片飘下来,像美丽的蝴蝶在空中舞蹈。枫树的叶子红了,远远看去,像火红火红的彩云。松树和柏树还是那么绿,高高地挺立着,像风雨中站岗的战士。秋天来啦,秋天来啦,田野上画出美丽的图画。鸭梨挂起金黄的灯笼,苹果露出羞红的脸颊,稻海翻起闪光的波浪,高粱举起燃烧的火把,谁使秋天这样美丽?听蓝天上的大雁回答,他们排成大大的“人”字,像是说——勤劳的人们画出秋天的图画。秋天,果子熟了。阳光下,那熟透了的柿子像一颗颗红色的宝石。满树的苹果,像一张张孩子的笑脸。葡萄架下,成串的葡萄,有红的、白的、绿的、紫的,闪着迷人的光彩。多么美好啊!秋天的果园。一阵阵凉风吹来,果儿点着头,散发出甜甜的香味儿。
var n=0;
/ addEventListener(Event.ENTER_FRAME,bb);
function bb(e:Event) {
var mc:MovieClip=new MovieClip();
addChild(mc);
var txt:TextField=new TextField();
mc.addChild(txt);
txt.defaultTextFormat=new TextFormat("黑体",20,0x993300,true);
txt.text=str.substr(n,1);
txt.autoSize=TextFieldAutoSize.LEFT;
txt.x=- txt.width/2;
txt.y=- txt.height/2;
mc.oldX=mc.x=n%25*22+10;
mc.oldY=mc.y=int(n/25)*22+10;
mc.vx=0;
mc.vy=0;
n<str.length?n++:removeEventListener(Event.ENTER_FRAME,bb);
mc.addEventListener(Event.ENTER_FRAME,frame);
}
function frame(e:Event) {
if (n>=str.length) {
var mc:MovieClip=e.target as MovieClip;
var r=Math.sqrt((mc.oldX-mouseX)*(mc.oldX-mouseX)+(mc.oldY-mouseY)*(mc.oldY-mouseY));
var ang=Math.atan2(mc.oldY-mouseY,mc.oldX-mouseX);
mc.x0=mouseX+((650-r)/20+r)*Math.cos(ang);
mc.y0=mouseY+((650-r)/20+r)*Math.sin(ang);
mc.vx=mc.vx*0.8+(mc.x0-mc.x)*0.2;
mc.vy=mc.vy*0.8+(mc.y0-mc.y)*0.2;
mc.x+=mc.vx;
mc.y+=mc.vy;
}
}
var n=0;
/ addEventListener(Event.ENTER_FRAME,bb);
function bb(e:Event) {
var mc:MovieClip=new MovieClip();
addChild(mc);
var txt:TextField=new TextField();
mc.addChild(txt);
txt.defaultTextFormat=new TextFormat("黑体",20,0x993300,true);
txt.text=str.substr(n,1);
txt.autoSize=TextFieldAutoSize.LEFT;
txt.x=- txt.width/2;
txt.y=- txt.height/2;
mc.oldX=mc.x=n%25*22+10;
mc.oldY=mc.y=int(n/25)*22+10;
mc.vx=0;
mc.vy=0;
n<str.length?n++:removeEventListener(Event.ENTER_FRAME,bb);
mc.addEventListener(Event.ENTER_FRAME,frame);
}
function frame(e:Event) {
if (n>=str.length) {
var mc:MovieClip=e.target as MovieClip;
var r=Math.sqrt((mc.oldX-mouseX)*(mc.oldX-mouseX)+(mc.oldY-mouseY)*(mc.oldY-mouseY));
var ang=Math.atan2(mc.oldY-mouseY,mc.oldX-mouseX);
mc.x0=mouseX+((650-r)/20+r)*Math.cos(ang);
mc.y0=mouseY+((650-r)/20+r)*Math.sin(ang);
mc.vx=mc.vx*0.8+(mc.x0-mc.x)*0.2;
mc.vy=mc.vy*0.8+(mc.y0-mc.y)*0.2;
mc.x+=mc.vx;
mc.y+=mc.vy;
}
}
以上就是Flash AS代码编写模拟打字效果的动画特效,希望大家喜欢!