您的位置:首页 > 其它

快速技巧:创建一个打字机文本效果类

2012-04-24 09:03 253 查看
在这个快速技巧中,我们将创建一个静态的,可重复使用的ActionScript类,它会产生单行打字机效果。往下阅读!

第1步:简要概述

我们要把一个用户定义的字符串拆分到一个数组中,然后使用Timer类把产生的字母一个一个地添加到文本框中。

第2步:Typewriter类

我们的类是静态的,这意味着它不需要使用新的关键词来实例化。若要访问静态类成员,使用该类的名称代替其实例的名称。

创建一个新的ActionScript文件,并写入以下代码:

package
{
import flash.text.TextField;
import flash.utils.Timer;
import flash.events.TimerEvent;

public final class Typewriter
{
/* 声明静态变量和方法 */

private static var chars:Array; //字符串中的字符
private static var cLen:int; //字符串的长度
private static var tf:TextField; //写入字符串的文本
private static var timer:Timer; //写入每个字符之间的停顿
private static var i:int = 0; //用来计算已写入字符数量的变量

public static function write(txt:String, txtField:TextField, time:Number):void
{
chars = txt.split(""); //将字符串拆分成一个字符数组
cLen = chars.length + 2; //字符串长度
tf = txtField; //将函数中传递进的txtField值赋值给tf            timer = new Timer(time); //根据参数设置时间

timer.addEventListener(TimerEvent.TIMER, writeChar);
timer.start(); //开始 writing 函数
}

private static function writeChar(e:TimerEvent):void
{
tf.appendText(chars[i]); //每次该函数调用写入一个字符
i++; //统计写入的字符数

if(tf.length == cLen) //检查字符串是否完成
{
timer.stop();
timer.removeEventListener(TimerEvent.TIMER, writeChar); //清空timer
timer = null;
}
}
}
}


第3步:用法

用法也非常简单-只需添加Typewriter.as类到你的项目文件夹,并使用下面的代码:

import Typewriter;

Typewriter.write('Text to Write', targetTextfield, 50);

复制代码

就是这样,测试你的影片,你会看到你的文本使用了打字机效果。

第4步:示例

在这个swf示例中我使用了该类,所以你可以看到效果

结论

使用这个类来创建你自己的效果吧!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐