详细内容
 
当前位置
Flash课件制作中打字效果的制作
作者:管理员    发布于:2012-03-22 23:34:07    文字:【】【】【

Flash课件制作中打字效果的制作

AS3.0实例教程三-打字效果

打字效果也是一个比较老的的效果,没办法本人太笨,想来想去还是觉得用这个效果来熟悉AS3.0的字符串和文本是最好的。

在AS3.0中字符串和文本与AS2.0相比变化不是太大,在AS2.0入门教程中已对字符串和文本作了祥细介绍,这里就不再细说了。

创建文本框与以住有些不同,在AS3.0中创建文本格式如下: 
var 文本名称:TextField = new TextField(); 
这样文本框就创建了,但在AS3.0中显示对象要用addChild()方法添加到显示列表中,才能在屏幕上看到它,因此就还得加上一句: 
addChild(文本名称);

下面来看一个例子:创建一个文本,并让文本显示一些内容。

在帧动作中输入下面的代码: 
var mytext: TextField = new TextField(); 
mytext.text = "我已经创一个文本了"; 
addChild(mytext); 
测试影片,你会看到一个文本:"我已经创一个文本了"显示在屏幕上了。 
文本框创建之后就可以设置其属性,调用其方法了。比如:appendText()方法,它将地在号中的字符串添加到文本的的结尾处,看下面的代码: 
var mytext: TextField = new TextField(); 
mytext.width=300; 
mytext.text = "我已经创一个文本了"; 
mytext.appendText(",我又加了一些内容"); 
addChild(mytext); 
测试影片,看到的内容是:"我已经创一个文本了,我又加了一些内容"。你可真能干,你还能加些内容。这里我们加了一句:mytext.width=300;这设置了文本的宽度,以适应文本内容,使它能完全显示出来。

下面进入主题,实现打字效果:

新建flash文档,记住建AS3.0文档。

然后,导入一个打字声音素材(只有一声的那种,附件已提供)到库中,在库中右击声音元件,点“连接”(flash8,cs3)或“属性”(flash cs4),在“为ActionScript导出“前打钩,在”类“文本框中输入一个类名称,我的名称是:dzs,”确定“后会弹出一个对话框,再”确定 “。 
下面打开帧动作面板写代码。 
首先声明一个字符串对象,将要打出的文字包含进去: 
var mystr:String = "在新春佳节来临之际,祝中国教程网的朋友们,新春快乐,万事如意,牛年牛气冲天!"; 
然后,声明一个变量,存储字符串的字符数,备用: 
var strcd:Number = mystr.length; 
接下来创建文本框,设置宽度,位置和缩放: 
var mytextbox:TextField = new TextField(); 
mytextbox.width = 300; 
mytextbox.x=120; 
mytextbox.y=100; 
mytextbox.wordWrap = true;//文本框向下扩展 
创建一个文本格式对象,设置文本的格式: 
var strformat:TextFormat = new TextFormat(); 
strformat.bold = true; 
strformat.color = 0xffff00; 
strformat.size = 20; 
将文本添加到显示列表: 
addChild(mytextbox); 
下面创建一个函数将字符串内容添加到文本上,并调用打字声音,因为我们后面会用Timer类实例来调用函数,所以在函数的事作参数,我们用 event:TimerEvent,字符串的charAt(i)方法可以提取字符串中的第i个字符。文本框在有了内容后调用 setTextFormat()方法才会有作用,所以在这里才用它。 
var i =0; 
function xs(event:TimerEvent):void{ 
mytextbox.appendText(mystr.charAt(i)); 
i++; 
mytextbox.setTextFormat(strformat); 
新建一个dzs类,即我们导入的声音,它将继承Sound类的属性和方法。所以用play()播放它,这样每加一个字符就会出现一声打字声。 
var sy:dzs = new dzs(); 
sy.play(); 
} 
下面创建Timer类,设置每300毫秒调用一次xs函数,为文本添加一个字符,一共调用字符串的个数那么多次: 
var jg:Timer = new Timer(300,strcd); 
jg.addEventListener(TimerEvent.TIMER,xs); 
jg.start(); 
测试影片,效果应该出来了。

 

脚注信息
版权所有 Copyright(C)2008-2015 龙腾动画(北京龙腾创星科技有限公司) 京ICP备16063988号-3       本站关键词:flash动画制作 

 
QQ在线咨询
咨询热线
010-57477990
7*24咨询热线
13701141129