传递给
要创建对 ActionScript 3.0 中的现有静态文本字段的引用,可以遍历显示列表中的项。例如,以下片段检查显示列表中是否包含静态文本字段并将该字段分配给变量:
要动态创建文本字段,请使用
TextField 类的方法允许您设置、选择并操作在创作过程中或运行时创建的动态或输入文本字段中的文本。
ActionScript 提供了多种在运行时设置文本格式的方法。TextFormat 类允许您设置 TextField 对象的字符和段落格式。您可以使用
Flash Player 还支持部分 HTML 标签,可以使用这些 HTML 标签设置文本格式。要查看受支持 HTML 标签的列表,请参阅对
注意:仅在 Flash Player 生成此事件时(在本例中,当用户尝试输入文本时发生此事件)才发生默认行为(向文本字段中添加文本)。无法通过发送
共创建了两个文本字段,一个用于显示用户输入,另一个 (
文本字段的默认大小是 100 x 100 个像素。
文本字段的
该类定义了
在
第一个文本字段用于保存用户将要选择的文本。为了确保单击该文本而没有将其选定,请将
在
在构造函数中,将
在
<img src = 'filename.jpg' id = 'instanceName' >
此图像 (
在
在构造函数中,将
在
我们将
为了便于说明,我们将
在
附加的文本选自 Walt Whitman 的诗歌 Song of Myself 中的两行。使用了一个新的 TextFormat 对象 (
我们将
在
我们将
在
如果没有为这些参数指定值,则此方法适用于文本字段中的所有文本。
下表描述三种可能的用法:
TextField 不能使用类型为
如果具有相同名称和样式的
可以使用
注意:如果已对文本字段应用了样式表,则此方法不起作用。
我们创建了两个不同的 TextField 对象,并为
在
注意:如果已对文本字段应用了样式表,则此方法不起作用。
我们将
在
请注意,对于用户手动插入的任何文本或通过
注意:如果已对文本字段应用了样式表,则此方法不起作用。
TextFormat 对象中包含两种类型的格式设置信息:字符级格式设置和段落级格式设置。文本字段中的每个字符都可以有自己的字符格式设置,例如字体名称、字体大小、粗体和斜体。
对于段落,通过检查段落的第一个字符可了解整个段落的格式设置。段落格式设置的示例有左边距、右边距和缩进。
对于用户手动插入的任何文本或通过
我们为
"Times-12"
.
To embed the font, follow these steps:
要设置此属性的值,请使用下列字符串值:
如果
如果
如果
如果
当前可以看到文本字段中
选择范围索引是从零开始的(例如,第一个位置为 0、第二个位置为 1,依此类推)。
运行此示例并尝试在 TextField 中单击以选择文本。然后在字段中单击,但不选择文本。如果在文本中单击但不进行选择,
如果
在设置
注意:当选择要替换为
var my_txt:TextField new TextField(); my_txt.text = "Flash Macintosh version"; var my_fmt:TextFormat = new TextFormat(); my_fmt.color = 0xFF0000; my_txt.defaultTextFormat = my_fmt; my_txt.setSelection(6,15); // partial text selected - defaultTextFormat not applied my_txt.setSelection(6,23); // text selected to end - defaultTextFormat applied my_txt.replaceSelectedText("Windows version");
在访问
注意:如果对文本字段应用了样式表,则不能设置该属性。
如果将文本字段的
flash.text.GridFitType
settings. It assumes that you have a font
embedded in the Library with the linkage identifier set to "Times-12"
.
To embed the font, follow these steps:
使用的网格固定类型确定了 Flash Player 是否强制让粗水平线和垂直线适合像素网格或子像素网格。
对于
Flash Player 支持以下 HTML 标签:
Flash 以完全大小显示文本字段中嵌入的媒体。要指定嵌入的媒体的尺寸,请使用
通常情况下,文本字段中嵌入的图像显示在
对于应用程序安全沙箱中的 AIR 内容,AIR 会忽略 ActionScript TextField 对象的 HTML 内容中的
使用
Flash Player 和 AIR 支持以下 HTML 实体:
Flash Player 和 AIR 还支持显式字符代码,如 &(ASCII 和号)和 €(Unicode € 符号)。
为了进行比较,我们对另一个名为
如果字符串以尖号 (^) 开头,则先接受所有字符,然后从接受字符集中排除字符串中 ^ 之后的字符。如果字符串不以尖号 (^) 开头,则最初不接受任何字符,然后将字符串中的字符包括在接受字符集中。
下例仅允许在文本字段中输入大写字符、空格和数字:
my_txt.restrict = "A-Z 0-9";
下例包含除小写字母之外的所有字符:
my_txt.restrict = "^a-z";
可以使用反斜杠输入 ^ 或 - 的本义。认可的反斜杠序列为 \-、\^ 或 \\。反斜杠在字符串中必须是一个本义字符,因此在 ActionScript 中指定时必须使用两个反斜杠。例如,下面的代码只包含短划线 (-) 和尖号 (^):
my_txt.restrict = "\\-\\^";
可在字符串中的任何位置使用 ^,以在包含字符与排除字符之间进行切换。下面的代码只包含除大写字母 Q 之外的大写字母:
my_txt.restrict = "A-Z^Q";
可以使用
my_txt.restrict = "\u0020-\u007E";
水平滚动的单位是像素,而垂直滚动的单位是行。水平滚动以像素计量是因为您通常使用的大多数字体都是按比例隔开的;这意味着字符可以有不同的宽度。Flash Player 按行进行垂直滚动是因为用户通常希望看到完整的一行文本,而不是一行的局部。即使一行中包含多种字体,行的高度也会调整到与使用的最大字体相适合。
注意:
垂直滚动的单位是行,而水平滚动的单位是像素。如果显示的第一行是文本字段中的第一行,则 scrollV 设置为 1(而非 0)。水平滚动以像素计量是因为大多数字体都是按比例隔开的;这意味着字符可以有不同的宽度。Flash 按行进行垂直滚动是因为用户通常希望看到完整的一行文本,而不是一行的局部。即使一行上有多种字体,行的高度也会调整到与使用的最大字体相适合。
如果
运行此示例并尝试在 TextField 中单击以选择文本。然后在字段中单击,但不选择文本。如果在文本中单击但不进行选择,
运行此示例并尝试在 TextField 中单击以选择文本。然后在字段中单击,但不选择文本。如果在文本中单击但不进行选择,
sharpness
set to 400
, 0
, and -400
.
It assumes that you have a font
embedded in the Library with the linkage identifier set to "Times-12"
.
To embed the font, follow these steps:
您可以随时更改与文本字段相关的样式表。如果更改使用中的样式表,会使用新的样式表重绘文本字段。您可以将样式表设置为
注意:如果删除样式表,则
要获取 HTML 形式的文本,请使用
为了进行比较,我们对另一个名为
thickness
of -200 to one
and 200 to the other. It assumes that you have a font
embedded in the Library with the linkage identifier set to "Times-12"
.
To embed the font, follow these steps:
必须先使用构造函数
各个属性的默认格式设置在各自的说明中也有所描述。
任何参数都可设置为
如果用户单击
某些字体(如宋体)和等宽字体(如 Courier New)不支持字距调整。
默认值为
注意:必须使用
使用设备字体可减小影片大小,因为字体数据不包括在文件中。设备字体通常适合以小点值显示文本,因为消除锯齿的文本在使用小字号时可能显得模糊。设备字体还适合大文本块,如滚动文本。
使用设备字体的文本字段在不同系统和平台上的显示可能有所不同,因为文本字段是使用系统中安装的字体来呈现的。由于同样的原因,设备字体未消除锯齿,并且在以大点值显示时可能出现锯齿。
使用嵌入 CFF 字体的文本始终以选择的字体显示,而不管播放系统上是否安装了该字体。另外,Flash Player 始终对使用嵌入 CFF 字体的文本进行消除锯齿(平滑)处理。您可以使用
嵌入 CFF 字体的一个缺点是它们增加了 SWF 文件的大小。不过,嵌入 CFF 字体通常比普通的嵌入字体小 20% 到 30%。
类型为
使用嵌入字体的文本字段始终以选择的字体显示,不管该字体是否安装在播放系统上。另外,始终对使用嵌入字体的文本字段进行消除锯齿(平滑)处理。可以使用
嵌入字体的一个缺点是它们增大了 SWF 文件的大小。
类型为
接下来,此示例显示如何调用
要在文本字段上设置高级消除锯齿功能,请设置 TextField 实例的
高级消除锯齿功能提供连续笔触调制 (CSM),它是笔触粗细和边缘清晰度的连续调制。作为一种高级功能,您可以使用
注意:
"myArial"
.
To embed the font, follow these steps:
高级消除锯齿功能使用自适应采样距离字段 (ADF) 表示确定字型的轮廓。Flash Player 使用外侧截止值
调整外侧截止值和内侧截止值会影响笔触粗细和边缘清晰度。这两个参数之间的间距相当于典型消除锯齿方法的滤镜半径的两倍;较窄的间距提供的边缘更清晰,而较宽的间距提供更柔滑、经过更多过滤的边缘。当间距为 0 时,生成的密度图像为双层位图。在间距非常宽时,生成的密度图像具有类似水彩画的边缘。
通常,对于小点值,用户首选清晰的、高对比边缘,对于动画文本和较大的点值,用户首选较柔滑的边缘。
外侧截止通常具有负值,内侧截止通常具有正值,而它们的中点通常在 0 附近。通过调整这些参数以使中点向负无穷大移动,将增大笔触粗细;将中点向正无穷大移动将减小笔触粗细。请确保外侧截止值始终小于等于内侧截止值。
maxLevel
value for the entire
SWF file, and then displays a text field with the value set. For the
text in this example to display correctly, there must be a font symbol available with
a linkage identifier of "CustomFont"
.
高级消除锯齿功能使用 ADF 表示确定字型的轮廓。品质越高,ADF 结构所需的缓存空间越多。值
有关与包含文本行的文本字段相关的度量值(例如,图中的“文本字段高度”度量值),请参阅 flash.text.TextField。
下图表示了文本字段的点和度量值以及该字段包含的文本行:
有关上下文中提到的属性,请参阅此类概述部分的插图。
要对一个 TextField 对象应用样式,请将该 StyleSheet 对象赋给 TextField 对象的
注意:具有样式表的文本字段不可编辑。也就是说,
Flash Player 支持原 CSS1 规范 (
要扩展本机 CSS 分析功能,可通过创建 StyleSheet 类的子类来覆盖此方法。
在构造函数中,创建了一个多行文本字段,并将其内容设置为 HTML 格式的字符串。(在应用 CSS 样式之前不会呈现 HTML heading 和 span 标签。)将创建一个用于指定 CSS 文件位置的
当用户单击文本字段时,将调用
下面是一个可用于此示例的 CSS 文件内容的示例。在运行此示例之前,请先创建一个文本文件,将下面的 CSS 内容复制到该文件中,然后使用文件名
p { font-family: Times New Roman, Times, _serif; font-size: 14; font-Style: italic; margin-left: 10; } h1 { font-family: Arial, Helvetica, _sans; font-size: 20; font-weight: bold; } .bluetext { color: #0000CC; }
emphasized
to the
StyleSheet myStyleSheet
. The style includes two style properties: color
and fontWeight
. The style object is defined with the {}
operator.
myStyleSheet.setStyle("emphasized", {color:'#000000',fontWeight:'bold'});
You could also create a style object using an instance of the Object class, and
then pass that object (styleObj
) as
the style
parameter, as the next example shows:
The following information appears in the Output panel:The following information writes to the log file:
emphasized
fontWeight: bold
color: #000000
Note: Because Flash Player creates a copy of the style object
you pass to setStyle()
, the delete styleObj
command in the
code example reduces memory usage by deleting the original style object passed to
setStyle()
.
Flash Player 将创建传递给此方法的样式对象的一个副本。
要获取所支持样式的列表,请参阅 StyleSheet 类说明中的表。
CSS 样式通常用于设置 HTML 内容的格式。但是,通过使用 StyleSheet 对象的
我们使用
您不必使用构造函数即可创建 TextSnapshot 对象;它由
如果将
要搜索全部字符,请将值
注意:对于大范围的文本,使用
要返回全部字符,请将值
如果将值
如果省略
此方法仅适用于包括字符度量信息的字体;但是,默认情况下,Flash 创作工具不包含静态文本字段的这种信息。
此方法仅适用于包括字符度量信息的字体;但是,默认情况下,Flash 创作工具不包含静态文本字段的这种信息。因此,该方法可能会返回
要选择或取消选择所有字符,请将值
因为在选择时,字符是单个地进行标记的,所以您可以多次调用此方法以选择多个字符;也就是说,使用此方法不会取消选择已由此方法设置的其他字符。
只针对包含字符度量信息的字体显示表明选中的彩色矩形;默认情况下,Flash 不包含静态文本字段的这种信息。在某些情况下,此行为意味着选中的文本在屏幕上不会显示为已选中。