论坛交流
首页办公自动化| 网页制作| 平面设计| 动画制作| 数据库开发| 程序设计| 全部视频教程
应用视频: Windows | Word2007 | Excel2007 | PowerPoint2007 | Dreamweaver 8 | Fireworks 8 | Flash 8 | Photoshop cs | CorelDraw 12
编程视频: C语言视频教程 | HTML | Div+Css布局 | Javascript | Access数据库 | Asp | Sql Server数据库Asp.net  | Flash AS
当前位置 > 文字教程 > Flash教程
Tag:flash cs,flash 8,鼠绘,as,手绘,工具,文字,loading,入门,初学,mc,影片剪辑,声音,mtv,游戏,引导,遮罩,菜单,补间,广告条,时钟,视频教程

运动出现的文字

文章类别:Flash | 发表日期:2008-9-21 15:52:29

  先看看效果:

点击浏览该文件
这是一个类似于打字效果,却又与之有所区别的动画效果(广泛应用于网站制作中的字幕效果,有时候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)指定要获取长度的字符串值。返回的数字值,表示获取的字符串长度结果。
最后提供源文件:

点击浏览该文件






还有整个教程的打包下载(123K):


点击浏览该文件


代码我已经作了具体解释,不知道其他的有没有什么疏漏?假如你做不出预期的效果,建议你对照教程和我给出的源文件仔细查看。

上一篇:{应用}模拟字雨效果 人气:2703
下一篇:{应用}打字效果中的颜色控制 人气:2867
视频教程列表
文章教程搜索
 
Flash推荐教程
Flash热门教程
看全部视频教程
购买方式/价格
购买视频教程: 咨询客服
tel:15972130058