繁体中文
设为首页
加入收藏
当前位置:网站制作首页 >> Flash教程 >> Flash MX2004入门与进阶实例:8.1 动态文本和输入文本

Flash MX2004入门与进阶实例:8.1 动态文本和输入文本

2007-11-15 08:00:00  作者:  来源:互联网  浏览次数:0  文字大小:【】【】【
简介:第八章 文字字段和组件 第一节 动态文本和输入文本(1) 在我们制作Flash作品时,常会需要用【文本工具】来创建各种文本,单击工具箱中的【文本工具】,或直接按键盘上的T键,就可选中【文本工具】,【属性】面板就...

第八章 文字字段和组件

第一节 动态文本和输入文本(1)

在我们制作Flash作品时,常会需要用【文本工具】来创建各种文本,单击工具箱中的【文本工具】,或直接按键盘上的T键,就可选中【文本工具】,【属性】面板就会出现相应的文本工具的属性。

Flash MX 2004中的文本形式有三种,即静态文本、动态文本和输入文本。在Flash电影中,所有动态文本字段和输入文本字段都是TextField 类的实例。可以在属性检查器中为文本字段指定一个实例名称,然后在动作脚本中使用TextField 类的方法和属性对文本字段进行控制,如透明度,是否运用背景填充等。

就像影片剪辑实例一样,文本字段实例也是具有属性和方法的动作脚本对象。通过为文本字段指定实例名称,我们就可以在动作脚本语句中通过实例名来设置、改变和格式化文本框和它的内容。不过,与影片剪辑不同,我们不能在文本实例中编写动作脚本代码,因为它们没有时间轴。

动态文本就是可以动态更新的文本,如体育得分、股票报价等,它是根据情况动态改变的文本,常用在游戏和课件作品中,用来实时显示操作运行的状态。

1.动态文本

(1)创建动态文本

如何创建动态文本呢?使用【文本工具】就可以创建动态文本框。用【文本工具】在场景中拖出一个文本框,选中该文本框,在【属性】面板中选择【动态文本】即可,如图8-1-1所示。

图8-1-1 选择【动态文本】

在【属性】面板中还可以进一步设置动态文本的属性参数。

在【实例名称】文本框中可以定义动态文本对象的实例名。

可以在文本显示类型下拉列表中选择【单行】还是【多行】显示文本。

【可选】按钮,它决定了是否可以对动态文本框中的文本执行选择、复制、剪切等操作,按下表示可选。

【将文本呈现为HTML】按钮,它决定了动态文本框中的文本是否可以使用HTML格式,即使用HTML语言为文本设置格式。

【在文本周围显示边框】按钮,它决定了是否在动态文本框周围显示边框。

在【变量】后面的文本框中可以定义动态文本的变量名,用这个变量可以控制动态文本框中显示的内容。

(2)为动态文本赋值

为动态文本赋值的方法有:使用变量赋值、通过动态文本对象的text属性进行赋值。我们先讨论一下使用变量为动态文本赋值的方法。

用【文本工具】在场景中拖出一个文本框,选中该文本框,在【属性】面板中选择【动态文本】类型,定义变量名为“text”,如图8-1-1所示。然后,在【动作】面板中,设置第1帧上的脚本:text = "Welcome to ActionScript!";

测试影片效果如图8-1-2所示,大家可以看到,文本“Welcome to ActionScript!”显示在了动态文本框中。

图8-1-2 使用变量给动态文本赋值

通过动态文本对象的text属性进行赋值也是比较常用的方法。

用【文本工具】在场景拖出一个文本框,选中该文本框,在【属性】面板中选择【动态文本】类型,并为这个动态文本起一个实例名“test”,如图8-1-3所示。

图8-1-3 定义动态文本实例名

然后,设置第1帧上的脚本:test.text = "使用动态文本的实例名字来赋值";

测试影片如图8-1-4所示。

图8-1-4 通过动态文本对象的text属性进行赋值

注意:这两种方法是有区别的,对象名具有多个属性,而变量名只是用来传递数值的,没有属性。

第八章 文字字段和组件

第一节 动态文本和输入文本(2)

(3)常用指令

下面介绍使用动作脚本动态创建文本框、设置文本框属性的几个常用指令:

MovieClip.createTextField()

作用:动态创建文本框

语法:my_mc.createTextField(instanceName,depth,x,y,width,height)

参数:instanceName,指示新文本字段的实例名称,depth是一个正整数,指定新文本字段的深度;x是一个整数,指定新文本字段的 x 坐标;y是一个整数,指定新文本字段的y坐标;width是一个正整数,指定新文本字段的宽度;height是一个正整数,指定新文本字段的高度。

例如:

_root.createTextField("textBox",1,50,50,200,100);

textBox.text = "这是我的第一个动态创建文本?";

这段程序代码的功能是,创建一个文本框,其实例名为textBox,深度为1,x为50,y为50,宽度为200,高度为100。

TextField.removeTextField()

作用:删除由createTextField创建的文本字段。

语法:my_txt.removeTextField()

例如:textBox.removeTextField();//删除textBox文本。

TextField._alpha

作用:设置或获取由my_txt指定的文本字段的Alpha透明度值,有效值为0(完全透明)到100(完全不透明),默认值为100。

语法:my_txt._alpha

例如:text1_txt._alpha = 30;//将名为text1_txt的文本字段的_alpha属性设置为 30%。

TextField.autoSize

作用:控制文本字段的自动大小调整和对齐。

语法:my_txt.autoSize

例如:my_txt.autosize = "center";//将文本字段my_txt的autosize属性设置为“center”。

TextField.background

作用:设置文本字段背景是否填充。如果为true,则文本字段具有背景填充。如果为false,则文本字段没有背景填充。

语法:my_txt.background

例如:my_txt.background = false;//文本字段my_txt没有背景填充。

TextField.border

作用:设置文本字段是否有边框。如果为true,则文本字段具有边框。如果为false,则文本字段没有边框。

语法:my_txt.border

例如my_txt.border = true;//文本字段my_txt有边框。

(4)动态文本应用实例:数字倒计时效果

在很多场合,我们都需要一个倒计时器,如考试时间等。这里我们利用动态文本制作一个简单的10秒倒计时器,影片中的数字自动从10变为9、8……,当变到0的时候停止,数字变化间隔1秒。

你可以从配套光盘中先运行这个实例(文件路径:配套光盘/……/动态文本实例.fla),如图8-1-5是这个实例运行的一个画面。

图8-1-5 倒计时实例效果

下面我们一起来制作这个实例:

步骤1 创建影片文档

新建一个影片文档,设置场景尺寸为250×200像素,其他参数保持默认。保存影片文档为“动态文本实例.fla”。

在时间轴上创建3个图层,分别重新命名为:背景、文本显示、AS。

在【背景】图层上,创建一个背景图形效果,如图8-1-6所示。

图8-1-6 背景效果

第八章 文字字段和组件

第一节 动态文本和输入文本(3)

步骤2 创建动态文本

在【文本显示】图层,我们要创建有三个静态文本框和一个动态文本框,效果如图8-1-7所示。

图8-1-7 动态文本和静态文本

在【属性】面板中定义动态文本的【变量】为“delaytime”。

步骤3 定义动作脚本

在【AS】图层,我们来定义程序代码。

选择【AS】图层的第1帧,在【动作】面板中输入脚本:

delaytime=10;//将动态文本的变量赋值为10

在【AS】图层第13帧插入空白关键帧,在【动作】面板定义动作脚本为:

if (delaytime == 0) {

//判断变量delaytime是否等到于0

gotoAndStop(2);

//如果变量delaytime等于0,就跳转到第2帧然后停止

} else {

//如果变量delaytime不等于0,就执行下面语句

delaytime = delaytime-1;

//变量delaytime自减1

gotoAndPlay(2);

//跳转到第2帧继续播放

}

至此,这个实例制作完成,完成以后的时间轴效果如图8-1-8所示。

图8-1-8 时间轴最后效果

2.输入文本

输入文本是可以接受用户输入的文本,是响应键盘事件的一种,是一种人机交互的工具。

和动态文本一样,使用【文本工具】也可以创建输入文本框,用【文本工具】在场景拖出一个文本框,选中该文本框,在【属性】面板中选择【输入文本】即可,如图8-1-9所示。

图8-1-9 输入文本【属性】面板设置

输入文本最重要的是变量名,如图所示中的【变量】文本框,其中的myInputText即是该输入文本的变量名。输入文本变量和其他变量类似,变量的值会呈现在输入文本框中,输入文本框中的值同时也作为输入文本变量的值,它们之间是等价的。

另外,输入文本对象也具有text属性,这个属性的实用方法和动态文本对象类似。有关输入文本的应用,本书后面的章节有具体的实例,这里就不再详述。

责任编辑:admin
相关文章