[效果]
[目的]把握length和substr的用法
[步骤]
第一步:导入一打字声音到主场景中的第一帧上,在属性面板中把声音设置为“事件”、“循环”。(假如加载库中的声音,在loading时效果不好)
第二步:在帧上写如下代码————
//申明变量
var my_sound:Sound = new Sound(_root);
var id:Number = setInterval(dazi, 100);
var i:Number = 0;
var my_fmt:TextFormat = new TextFormat();
var my_str:String = "再别康桥——徐志摩"+newline+newline+"轻轻的我走了,正如我轻轻的来;"+newline+"我轻轻的招手,作别西天的云彩。"+newline+"那河畔的金柳,是夕阳中的新娘;"+newline+"波光里的艳影,在我的心头荡漾。"+newline+"软泥上的青荇,油油的在水底招摇;"+newline+"在康河的柔波里,我甘心做一条水草!"+newline+"那榆荫下的一潭,不是清泉,"+newline+"是天上虹揉碎在浮藻间,沉淀着彩虹似的梦。"+newline+"寻梦?撑一支长篙,向青草更青处漫溯,"+newline+"满载一船星辉,在星辉斑斓里放歌。"+newline+"但我不能放歌,静静是别离的笙箫;"+newline+"夏虫也为我沉默,沉默是今晚的康桥。"+newline+"静静的我走了,正如我静静的来;"+newline+"我挥一挥衣袖,不带走一片云彩。";
//创建动态文本
this.createTextField("my_txt", 1, 30, 10, 120, 20);
//控制文本字段的自动大小调整和左对齐
my_txt.autoSize = true;
//设置文本行距
my_fmt.leading = 6;
//设置文本的颜色
my_fmt.color = 0xFFFFFF;
//动态文本应用新文本格式
my_txt.setNewTextFormat(my_fmt);
//自定义函数
function dazi() {
//假如变量i不大于my_str的字符数
if (i<=length(my_str)) {
//动态文本显示my_str的字符(从第一个字符开始,长度为i)
my_txt.text = my_str.substr(0, i);
//变量递增1
i++;
}
//假如变量i大于my_str的字符数
if (i>length(my_str)) {
//声音停止
my_sound.stop();
//停止 setInterval() 调用
clearInterval(id);
}
}
[源文件]
zi.rar在文字后加个光标,可在my_txt.text = my_str.substr(0, i)之后+"|";但光标不会闪烁。假如要达到闪烁的效果,似乎只有做逐帧动画了。
进入论坛和作者一起讨论学习:
http://space.flash8.net/bbs/thread-340586-1-1.html