用Flash制作自动打字特效
2007-11-16 13:19:31
这是一个看起来好象是在屏幕上输入一串文字一样的效果(看下例),不错吧!现在让我们一起来制作。
第一步:先编辑Scene 1的界面大小,按快捷键(Ctrl+M)定义Width:300px,Height:150px,Background(背景色)是黑色。在Layer 1 层画一个空心的方框,按F5键增加到第六帧,然后新增一个层,层的名是:typer.在这一层的第六帧插入一个关键帧。
第二步:新建一个电影夹子符号,在菜单栏的Insert-->New Symbol-->Movie Clip,Name:AutoType,按OK。接着把Layer 1层改名为Text Layer,在这一层上用文字工具
,选择工具栏下方的文字域,(如图1)在编辑界面上画一个适当大小的文字域框,然后在上面输入一段文字,那文字就随你了,输入完后,就把这Text Layer层按F5键增加到第五帧,跟着右击这个文字域框,得到一个下拉菜单,选择Properties,(如图2)

图1 图2
就得到一个Text Field Properties的属性框。(如图3)在Option(选项)中的Multiline;Word wrap;Disable editing和Disable selection上打勾。按OK。
图3
这几个设置的意思是:
Multiline:允许文本以换行方式出现。
Word wrap:使文本到达边界时能自动换行,必须在Multiline打开后才能用。
Disable editing:使文字域不能输入文字。
Disable selection:使文字域里的文字不能被选择,必须在Disable editing打开后才能用。
第三步:新增一个层,把这个层改名为:Scripts,在这一层的第一帧右击打开Propertion,得到Frame Propertion面板,选择Actions,在Flash书写Action的区域里输入以下程序:
Set Variable: "TextBuffer" = TypeField
Set Variable: "TypeField" = ""
Set Variable: "TextLen" = 2
(Set Variable命令的作用是赋予变量值指定的变量。)
以上Action的程序大致意思是:把TextBuffer变量赋值为TypeField,接着把TypeField变量赋值为空值,最后就是TextLen变量赋值为2。
接着是在Scripts层的第二帧定义一个关键帧,在这帧右击打开Frame Propertion面板,在Flash书写Action的区域里输入以下程序:
Call ("5")
(Cool命令的作用是调用其他帧里的Action命令。)
以上Action的程序大致意思是:调用第五帧的Action命令。
跟着又在Scripts层的第三帧定义一个关键帧,在这帧右击打开Frame Propertion面板,在Flash书写Action的区域里输入以下程序:
Go to and Play (2)v (Go to命令是实现时间线上帧的跳转。)
以上Action的程序大致意思是:跳转到第二帧并运行。
然后又在Scripts层的第五帧定义一个关键帧,在这帧右击打开Frame Propertion面板,在Flash书写Action的区域里输入以下程序:
If (TextLen<=Length (TextBuffer) and TextLen<>0)
Set Variable: "TextLen" = Eval ("TextLen") +2
Set Variable: "TypeField" = Substring (TextBuffer,1,TextLen)
Else
Set Variable: "TextLen" = 0
End If
(If命令的作用是当If后面的条件成立时执行If命令中所包含的Actions。)
(Else命令的作用是当If命令后的条件不成立时,执行Else后所包含的Actions.)
以上Action的程序大致意思是:如果第一句到第三句条件成立的话则完成,反之则执行"TextLen" = 0。
最后是按右上角的
返回Scene 1编辑界面。
第四步:在Scene 1编辑界面typer层的第五帧上定义好的关键帧,把库里做好的电影夹子AutoType拖放到编辑界面的方框上,跟着在第五帧右击打开Propertion,得到Frame Propertion面板,选择Actions,在Flash书写Action的区域里输入以下程序:
Stop
(Stop命令的作用是停止所有的运动。)
讲到这里就完成了这篇文章,以下就是按(Ctrl+Enter)来欣赏这个自动打字的效果了。
第一步:先编辑Scene 1的界面大小,按快捷键(Ctrl+M)定义Width:300px,Height:150px,Background(背景色)是黑色。在Layer 1 层画一个空心的方框,按F5键增加到第六帧,然后新增一个层,层的名是:typer.在这一层的第六帧插入一个关键帧。
第二步:新建一个电影夹子符号,在菜单栏的Insert-->New Symbol-->Movie Clip,Name:AutoType,按OK。接着把Layer 1层改名为Text Layer,在这一层上用文字工具
,选择工具栏下方的文字域,(如图1)在编辑界面上画一个适当大小的文字域框,然后在上面输入一段文字,那文字就随你了,输入完后,就把这Text Layer层按F5键增加到第五帧,跟着右击这个文字域框,得到一个下拉菜单,选择Properties,(如图2)

图1 图2
就得到一个Text Field Properties的属性框。(如图3)在Option(选项)中的Multiline;Word wrap;Disable editing和Disable selection上打勾。按OK。
图3这几个设置的意思是:
Multiline:允许文本以换行方式出现。
Word wrap:使文本到达边界时能自动换行,必须在Multiline打开后才能用。
Disable editing:使文字域不能输入文字。
Disable selection:使文字域里的文字不能被选择,必须在Disable editing打开后才能用。
第三步:新增一个层,把这个层改名为:Scripts,在这一层的第一帧右击打开Propertion,得到Frame Propertion面板,选择Actions,在Flash书写Action的区域里输入以下程序:
Set Variable: "TextBuffer" = TypeField
Set Variable: "TypeField" = ""
Set Variable: "TextLen" = 2
(Set Variable命令的作用是赋予变量值指定的变量。)
以上Action的程序大致意思是:把TextBuffer变量赋值为TypeField,接着把TypeField变量赋值为空值,最后就是TextLen变量赋值为2。
接着是在Scripts层的第二帧定义一个关键帧,在这帧右击打开Frame Propertion面板,在Flash书写Action的区域里输入以下程序:
Call ("5")
(Cool命令的作用是调用其他帧里的Action命令。)
以上Action的程序大致意思是:调用第五帧的Action命令。
跟着又在Scripts层的第三帧定义一个关键帧,在这帧右击打开Frame Propertion面板,在Flash书写Action的区域里输入以下程序:
Go to and Play (2)v (Go to命令是实现时间线上帧的跳转。)
以上Action的程序大致意思是:跳转到第二帧并运行。
然后又在Scripts层的第五帧定义一个关键帧,在这帧右击打开Frame Propertion面板,在Flash书写Action的区域里输入以下程序:
If (TextLen<=Length (TextBuffer) and TextLen<>0)
Set Variable: "TextLen" = Eval ("TextLen") +2
Set Variable: "TypeField" = Substring (TextBuffer,1,TextLen)
Else
Set Variable: "TextLen" = 0
End If
(If命令的作用是当If后面的条件成立时执行If命令中所包含的Actions。)
(Else命令的作用是当If命令后的条件不成立时,执行Else后所包含的Actions.)
以上Action的程序大致意思是:如果第一句到第三句条件成立的话则完成,反之则执行"TextLen" = 0。
最后是按右上角的
返回Scene 1编辑界面。第四步:在Scene 1编辑界面typer层的第五帧上定义好的关键帧,把库里做好的电影夹子AutoType拖放到编辑界面的方框上,跟着在第五帧右击打开Propertion,得到Frame Propertion面板,选择Actions,在Flash书写Action的区域里输入以下程序:
Stop
(Stop命令的作用是停止所有的运动。)
讲到这里就完成了这篇文章,以下就是按(Ctrl+Enter)来欣赏这个自动打字的效果了。
责任编辑:
- 相关文章


