2个回答
展开全部
有3种方法:
1.》如1楼所说的,帧帧动画,不过制作时是吧所有的文字排好,然后右键分离,把文字拆分成单个,再根据文字的多少延长帧,选中所有的帧,右键转换成关键帧,在从后面向前面,逐帧删除后面的文字,越靠前删除的文字越多,这样播放时就是一个一个的出字。
2.》用flash文字软件,FlaX这个软件可以实现逐个出字效果。
3.》用语句,就在场景第1帧输入如下语句即可实现打字效果:
打字效果第一桢:
//申明变量
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+"文字内容";
//创建动态文本
this.createTextField("my_txt",1,200,70,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);
}
}
1.》如1楼所说的,帧帧动画,不过制作时是吧所有的文字排好,然后右键分离,把文字拆分成单个,再根据文字的多少延长帧,选中所有的帧,右键转换成关键帧,在从后面向前面,逐帧删除后面的文字,越靠前删除的文字越多,这样播放时就是一个一个的出字。
2.》用flash文字软件,FlaX这个软件可以实现逐个出字效果。
3.》用语句,就在场景第1帧输入如下语句即可实现打字效果:
打字效果第一桢:
//申明变量
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+"文字内容";
//创建动态文本
this.createTextField("my_txt",1,200,70,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);
}
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |