当前位置: 移动技术网 > IT编程>UI设计>设计软件 > Flash as3制作打字动画效果实例教程

Flash as3制作打字动画效果实例教程

2019年03月19日  | 移动技术网IT编程  | 我要评论

此地无银三百两打一成语,张秀萍丈夫,和谐

本例为flash as3.0实例之打字效果,打字效果也是一个比较老的的效果,用来熟悉as3.0的字符串和文本是最好的,希望能给朋友们带来帮助。

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();
测试影片,效果应该出来了。

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网