这个例子是Flash AS3.0的一个例子的打字效果,打字效果也是老的。最好熟悉AS3.0的字符串和文本,希望能给朋友带来帮助。
创建一个文本框与生活有些不同。在AS3.0中创建的文本格式如下:
Var文本名称:TextField=new TextField();
这样,文本框就创建好了。但是,在AS3.0中,必须使用addChild()方法将显示对象添加到显示列表中,这样才能在屏幕上看到它。因此,必须增加一句话:
AddChild(文本名称);
我们来看一个例子:创建一个文本,让文本显示一些东西。
在框架动作中输入以下代码:
var my text:TextField=new TextField();
Mytext.text='我创建了一个文本'
addChild(my text);
在测试中,您将看到屏幕上显示的文本:“我创建了一个文本”。
创建文本框后,可以设置其属性并调用其方法。例如:appendText()方法,将数字中带地的字符串添加到文本末尾。请参见以下代码:
var my text:TextField=new TextField();
mytext.width=300
Mytext.text='我创建了一个文本'
Mytext.appendText('我多加了点');
addChild(my text);
在测试中,我看到的是:‘我创建了一个文本,我添加了一些内容’。你真的很有能力,可以加点内容。这里我们加一句:mytext.width=300这将设置文本的宽度以适合文本的内容,从而可以完全显示文本。
我们进入正题,实现打字效果:
创建一个新的flash文档,并记住创建一个AS3.0文档。
然后,将键入的声音素材(只有一个声音的那种,附件提供)导入到库中,右键单击库中的声音组件,单击“连接”(flash8,cs3)或“属性”(flash cs4),勾选“为ActionScript导出”,在“类”文本框中输入类名称。我叫dzs,
打开下面的框架动作面板来编写代码。
首先,声明一个包含要键入的文本的string对象:
Var mystr:String='值此新春佳节之际,祝中国补习网的所有朋友新年快乐,万事如意,牛年大吉!'
然后,声明一个变量来存储备用字符串中的字符数:
var strcd:Number=mystr . length;
接下来,创建一个文本框并设置宽度、位置和缩放比例:
var mytextbox:TextField=new TextField();
mytextbox.width=300
mytextbox.x=120
mytextbox.y=100
my textbox . word wrap=true;//文本框向下扩展
创建文本格式对象来格式化文本:
var str format:text format=new text format();
strformat.bold=true
str format . color=0x ffff 00;
strformat.size=20
向显示列表添加文本:
addChild(我的文本框);
下面创建的函数将字符串内容添加到文本中,并调用输入声音。因为我们稍后将使用Timer类实例调用该函数,所以我们可以通过使用event:TimerEvent(字符串的charAt(i)方法)来提取字符串中的第I个字符。调用setTextFormat()方法只有在文本框有内容时才起作用,所以这里使用它。
var I=0;
函数xs(event:TimerEvent):void{
my textbox . appendtext(mystr . charat(I));
我;
mytextbox . settext format(str format);
创建一个新的dzs类,也就是我们导入的声音,它将继承Sound类的属性和方法。所以用play()来播放,这样每次添加一个字符就会出现打字声。
var sy:dzs=new dzs();
sy . play();
}
以下代码创建了Timer类,将xs函数设置为每300毫秒调用一次,向文本中添加一个字符,并多次调用字符串数:
var jg:Timer=new Timer(300,strcd);
jg.addEventListener(TimerEvent。定时器,xs);
jg . start();
测试一下片子,效果应该出来了。