通行证│用户名: 密码: 验证码: 验证码,看不清楚?请点击刷新验证码 电信网通铁通移动   在线
资源搜索:
热门搜索:Linux VB C语言 PhotoShop Flash TCP/IP
   首页 | 文章 | 软件 | 动画 | 资源 | 励志 | 骗术 | 论坛 | 邮箱 | 会员中心 | 军事 | 科技 | 博客 | 图片 | 商城 | 最新更新 | 800g资源 | 爱心黑客
您现在的位置: 爱国者黑客 >> 资源 >> 媒体动画 >> Flash >> 动画特效制作 >> 文章正文

用flash制作运动出现的文字
责任编辑:admin   更新日期:2005-8-6
先看看效果:

点这里下载演示效果文件

这是一个类似于打字效果,却又与之有所区别的动画效果(广泛应用于网站制作中的字幕效果,有时候banner中也会用到)。下面我们将一步步的学习其制作方法。
你能学到的内容包括:动态文本,输入文本的应用;关于字符串的一些函数;复制影片剪辑;删除复制出来的子影片剪辑;读取和修改影片剪辑的某些属性;利用if判断语句对FLASH进行流程控制等等。

步骤1:

先看一看整体的图层布局(如图一):共四层:从上到下:第一层是button层,放的是一个开始按钮;第二层是AS层:没有其他元件,是专门用来添加AS代码的图层;第三层是text层,放的是一个输入文本框;第四层是MC层,放的是一个实现文本动态出现的MC(下面会具体介绍其做法)。


按此在新窗口浏览图片

步骤2:

准备各种需要的元件:

a)首先做简单的,制作一个开始按钮(你可以精心制作,搞的漂亮一点),放在单独的图层中,图层名为button;
b)制作一个输入文本框,其变量名为:text。定义变量名的方法   如图二   所示。也把他放在一个单独的text图层中;

按此在新窗口浏览图片

c)制作最重要的一个元件,也就是产生动态效果的MC:新建一个MC元件,命名为wenben,进入其编辑状态,在编辑区做一个动态文本框,变量名为:tt(给动态文本添加变量名的方法与图二类似)。大概够容纳一个字母的大小,然后右键选中这个动态文本框,将他也转化为MC元件,名称为:wb   ,实例名为:b。(给MC定义实例名的方法参看图四)接着添加一个新的图层(图层属性为引导层),画一条直线,然后让wb这个元件沿这个直线做位移渐变,中途再适当添加关键帧,让他的大小,角度作些变化。完成后的wenben   这个MC的各个关键帧的情形参看图三(系列)。说明一点:在第八和第十六帧之间,wb做的是旋转两周的运动。

按此在新窗口浏览图片

按此在新窗口浏览图片

按此在新窗口浏览图片

按此在新窗口浏览图片


d)回到主场景新建一个图层,名为MC。把wenben   放入其中适当位置(具体参看后面提供的源文件),添加实例名为a(方法参看图四)

按此在新窗口浏览图片

e)将上述所有图层延长到20帧;

至此,所有相关元件准备完毕。


步骤3:
开始着手最关键的部分,添加AS代码:

新建一个新的图层,图层名为AS,共20帧:

第一帧:
text="happy   new   year!"//初始化输入文本框的内容,这一内容可以在SWF文件中修改;
stop();


第二帧:
ll   =   length(text);//获取输入文本的字符串的长度(其具体用法参看后面给出的相关语句的用法解释)
i   =   1;//初始化用于变量i的值;

第三帧:
duplicateMovieClip("a",   "a"   +i,   i);//复制实例名为a的影片剪辑;
setProperty("a"   +   i,   _x,   getProperty   (   "a"   +i,   _x   )   +(i*10));//设定每个子影片剪辑的X坐标值,实际上也就是设定每个字母之间的间隔。
set("a"   +   i   +   "/b:tt",   substring(text,   i,   1));//指定每个子影片剪辑中的b元件内tt这个动态文本的内容为text这个输入文本中的第i个字符(关于这个函数的具体用法,参看后面给出的相关语句的用法解释)。
i++;//变量i自加;

第十帧:
if   (i   ==ll+1)   {
   gotoAndPlay(20);//如果text内的内容全部显示过了,跳到20帧;
}   else   {
   gotoAndPlay(3);//如果还没有全部显示过,则跳回第3帧继续显示;
}


或者第十帧的代码可以改为:
if   (i   ==ll+1)   {
   stop();//如果text内的内容全部显示过了则直接停止动画,不需要再跳转;
}   else   {
   gotoAndPlay(3);//如果还没有全部显示过,则跳回第3帧继续显示;
}


第二十帧:

stop();//整个动画停止;


开始按钮:

on(press){
   for(i=1;i<=ll+1;i++){
   removeMovieClip("a"+i);//在开始播放新的字符串的出现前,先清除前一次的字符串;
   }
   gotoAndPlay(2);//开始播放第二帧
}

这样就差不多全部结束了,ctrl+enter测试!





再给出相关语句的具体用法解释(整理自AS字典):1.
substring(string,   index,   count)   
参数:
string:字符串值,表示要抽取的字符串值。   
index:数字值,表示要抽取字符串的开始位置。   
count:数字值,表示要截取字符串的长度。(可选)   
返回:   一个字符串值   
介绍:   使用   substring   语句,可以获取指定字符串对象中从指定的位置开始截取指定长度的字符串信息。参数(string)指定要抽取的字符串值。参数(index)指定开始截取字符的位置,设置为   0   表示从字符串的第一个字符开始,如果设定该值为负数,则表示起始位置从字符串的尾部计起。参数(count)指定截取字符串的长度,如果省略该参数,则表示截取自开始位置起后面的所有字符信息。返回的字符串值,表示抽取到的字符串信息。   

说明:此函数自FLASH   MX起,已经不建议被使用,其功能可以被一个新函数mystring.substr代替,具体参看我整理的这个文章中的第10点:

http://www.flash8.net/dispbbs.asp?boardID=1&ID=145656

2.length(expression)   
参数:
expression:字符串值,表示要获取长度的字符串值。   
返回:   一个数字值   
介绍:   使用   length   语句,可以获取指定字符串的长度信息。参数(expression)指定要获取长度的字符串值。返回的数字值,表示获取的字符串长度结果。 

点这里下载源文件
  • 上一篇文章:
  • 下一篇文章:
  • 热门文章
    Olldbg常见问题
    汇编语言的艺术(组合语言的艺术)--观
    汇编语言的艺术(组合语言的艺术)--准
    汇编语言的艺术(组合语言的艺术)--基
    汇编语言的艺术(组合语言的艺术)--基
    汇编语言---程式设计 (4)
    虚拟8086模式
    SYS命令使用说明
    javascript + CSS 实现动态菜单显
    推荐文章
    自制Windows XP SP2自动安装光盘
    SQLServer注入工具改进版 v1.02
    使用photoshop CS进行自然美肤
    Photoshop绘制诺基亚手机
    PHOTOSHOP制作秋日之梦
    PHOTOSHOP鼠绘名模王爱萍
    Photoshop制作晶莹飞溅的水珠
    教你用PHOTOSHOP做放大镜
    鼠绘美女及服装修画全过程