flash原版解释-9
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
flash原版解释-9
嵌⼊ SWF 和图像⽂件
要将图像或 SWF ⽂件嵌⼊到⽂本字段中,请在标签的src属性中指定图像(GIF、JPEG 或 PNG)或 SWF ⽂件的绝对路径或相对路径。
例如,以下代码插⼊⼀个 GIF ⽂件,该⽂件与 SWF ⽂件位于同⼀个⽬录中(相对地址,联机或脱机)。
在⽂本字段中嵌⼊图像:
1.创建⼀个新的 Flash ⽂档,并将其另存为embedding.fla。
2.将下⾯的 ActionScript 添加到主时间轴中的第 1 帧:
上⾯的代码在舞台上创建⼀个新的动态⽂本字段,启⽤ HTML 格式设置,并向该⽂本字段添加⼀些⽂本
和本地图像。
7.在上⼀步骤中添加的代码下⾯添加以下 ActionScript:
还可以使⽤绝对地址插⼊图像。
上⾯的代码插⼊⼀个 JPEG ⽂件,该⽂件位于服务器上的⼀个⽬录中。
包含此代码的 SWF ⽂件可能在您的硬盘上,也可能在服务器上。
12.保存该⽂档,然后选择"控制">"测试影⽚"对该⽂档进⾏测试。
上⾯的⽂本字段应具有⼀句⽂本,很可能是"输出"⾯板中的错误消息,说明 Flash ⽆法在当前⽬录中
定位名为 beach.gif 的⽂件。
下⾯的⽂本字段应具有⼀句⽂本以及⼀个从远程服务器加载的花朵图像。
将 GIF 图像复制到与 FLA 所在的相同⽬录,并将该图像重命名为 beach.gif,然后选择"控制">"测试
影⽚",重新测试该 Flash ⽂档。
注
使⽤绝对 URL 时,必须确保 URL 以http://为前缀。
意
嵌⼊影⽚剪辑元件
若要在⽂本字段中嵌⼊影⽚剪辑元件,请为标签的src属性指定元件的链接标识符。
(有关定义链接标识符的信息,请参阅将影⽚剪辑元件附加到舞台。
)
例如,下⾯的代码将⼀个链接标识符为symbol_ID的影⽚剪辑元件插⼊到实例名称为textField_txt的动态⽂本字段中。
将影⽚剪辑嵌⼊到⽂本字段中:
1.创建⼀个新的 Flash ⽂档,并将其另存为embeddedmc.fla。
2.在舞台上绘制新的形状,或者选择"⽂件">"导⼊">"导⼊到舞台",并选择⼀个⼤约 100 像素宽乘以
100 像素⾼的图像。
3.在舞台上选择该形状或前⾯步骤中导⼊的图像,然后按 F8 打开"转换为元件"对话框,对其进⾏转换。
4.将⾏为设置为影⽚剪辑,并输⼊描述性的元件名称。
选择注册点⽹格左上的正⽅形,然后单击"⾼级"
切换到⾼级模式(如果尚未切换)。
5.选中"为 ActionScript 导出"和"在第⼀帧导出"复选框。
6.在"标识符"⽂本框中输⼊链接标识符img_id,然后单击"确定"。
7.将下⾯的 ActionScript 添加到主时间轴中的第 1 帧:
为了正确完整地显⽰嵌⼊的影⽚剪辑,其元件的注册点应该位于点 (0,0)。
12.保存对 Flash ⽂档的更改。
13.选择"控制">"测试影⽚"对该 Flash ⽂档进⾏测试
关于指定⾼度和宽度值
如果为标签指定了width和height属性,则将在⽂本字段中为图像⽂件、SWF ⽂件或影⽚剪辑留出空间。
图像或 SWF ⽂件完全下载之后,将显⽰在保留空间中。
Flash 将根据为height和width指定的值来增⼤或缩⼩媒体。
必须为height和width属性都输⼊值才能缩放该图像。
如果未指定height和width值,则不会为嵌⼊的媒体保留空间。
图像或 SWF ⽂件完全下载完之后,Flash 将其以完整⼤⼩插⼊⽂本字段中并重新排列周围的⽂本。
注意如果您动态地将图像加载到包含⽂本的⽂本字段中,最好指定原始图⽚的宽度和⾼度,这样⽂本就可以在为图像保留的空间周围正确地⾃动换⾏
使⽤ ActionScript 控制嵌⼊的媒体
Flash 为每个标签创建⼀个新的影⽚剪辑并在 TextField 对象中嵌⼊该影⽚剪辑。
标签的id属性允许您将实例名称分配到创建的影⽚剪辑。
这允许您使⽤ ActionScript 控制该影⽚剪辑。
Flash 创建的影⽚剪辑作为⼦级影⽚剪辑添加到包含该图像的⽂本字段中。
例如,下例在⽂本字段中嵌⼊⼀个 SWF ⽂件。
在⽂本字段中嵌⼊⼀个 SWF ⽂件:
1.创建⼀个新的 Flash ⽂档。
2.将⽂档的舞台⼤⼩调整为 100 像素乘以 100 像素。
3.使⽤矩形⼯具在舞台上绘制⼀个红⾊正⽅形。
4.通过使⽤"属性"检查器将该正⽅形⼤⼩调整为 80 像素乘以 80 像素,然后将该形状移动到舞台中央。
5.在时间轴上选择第 20 帧,然后按 F7(Windows 或 Macintosh)插⼊⼀个新的空关键帧。
6.使⽤椭圆⼯具在舞台上第 20 帧绘制⼀个蓝⾊的圆形。
7.通过使⽤"属性"检查器将该圆形⼤⼩调整为 80 像素乘以 80 像素,然后将其移动到舞台中央。
8.单击第 1 帧和第 20 帧之间的空⽩帧,在"属性"检查器中将补间类型设置为"形状"。
9.将当前⽂档另存为animation.fla。
10.选择"控制">"测试影⽚"来预览动画。
SWF ⽂件创建在与 FLA 相同的⽬录中。
为使此练习正常⼯作,需要⽣成 SWF ⽂件以便将其加载到单独的 FLA ⽂件中。
11.创建⼀个新的 FLA ⽂件,并将其另存为animationholder.fla。
将该⽂件保存在与上⾯创建的 animation.fla ⽂件相同的⽂件夹中。
12.将以下 ActionScript 代码添加到主时间轴的第⼀帧中:
在本例中,新建影⽚剪辑的完全限定路径为textField_txt.animation_mc。
17.保存对 Flash ⽂档的更改,然后选择"控制">"测试影⽚",预览⽂本字段中的动画。
若要在⽂本字段中播放 SWF ⽂件时控制该⽂件,请完成下⼀练习。
控制在⽂本字段中播放的 SWF ⽂件:
1.按照使⽤ ActionScript 控制嵌⼊的媒体下第⼀个过程中的步骤操作。
2.在舞台上创建⼀个按钮实例,在"属性"检查器中为其分配实例名称stop_btn 。
3.在主时间轴的第 1 帧中现有代码的下⾯,添加以下 ActionScript 代码:
8.选择"控制">"测试影⽚"对应⽤程序进⾏测试。
现在,每次单击stop_btn按钮实例时,⽂本字段中嵌套的动画的时间轴就会停⽌。
有关将嵌⼊媒体制成超链接的信息,请参阅关于使⽤嵌⼊的媒体创建超⽂本链接
关于使⽤嵌⼊的媒体创建超⽂本链接
若要通过嵌⼊的图像⽂件、SWF ⽂件或影⽚剪辑创建超⽂本链接,请将标签括在标签中:
当⿏标指针位于包含在标签中的图像、SWF ⽂件或影⽚剪辑上时,⿏标指针会变为"⼿指形"图标,这与标准超⽂本链接的处理⽅式是相同的。
交互动作(例如⿏标单击和按键)不在括在标签中的 SWF ⽂件和影⽚剪辑中注册。
有关嵌⼊媒体的信息,请参阅关于使⽤嵌⼊的媒体创建超⽂本链接。
⽰例:创建滚动⽂本
在 Flash 中创建滚动⽂本的⽅法有多种。
通过选择"⽂本"菜单或上下⽂菜单中的"可滚动"选项或按住 Shift 双击⽂本字段句柄,可以将动态和输⼊⽂本字段设置为可滚动模式。
可以使⽤ TextField 对象的scroll和maxscroll属性在⽂本字段中控制垂直滚动,使⽤hscroll和maxhscroll属性在⽂本字段中控制⽔平滚动。
scroll和hscroll属性分别指定当前垂直和⽔平滚动位置;您可以对这些属性进⾏读写操作。
maxscroll和maxhscroll属性分别指定最⼤垂直和⽔平滚动位置;您只能读取这些属性。
TextArea 组件提供了⼀种简便的⽅法,使您只需撰写最少量的脚本即可创建滚动的⽂本字段。
有关详细信息,请参阅《ActionScript 2.0 组件语⾔参考》中的"TextArea 组件"。
创建可滚动的动态⽂本字段:
请执⾏以下操作之⼀:
按住 Shift 双击动态⽂本字段上的⼿柄。
使⽤选择⼯具选择动态⽂本字段,然后选择"⽂本">"可滚动"。
⽤选择⼯具选择动态⽂本字段。
右键单击 (Windows) 或按住 Control 单击 (Macintosh) 动态⽂本字段,然后选择"⽂本">"可滚动"。
使⽤滚动属性创建滚动⽂本:
1.请执⾏以下操作之⼀:
使⽤"⽂本"⼯具在舞台上拖出⼀个⽂本字段。
在"属性"检查器中为⽂本字段指定⼀个实例名称textField_txt。
使⽤ ActionScript,通过MovieClip.createTextField()⽅法动态创建⼀个⽂本字段。
为该⽂本字段指定⼀个实例名称textField_txt作为该⽅法的参数。
注意如果不动态地将⽂本加载到 SWF ⽂件中,则从主菜单中选择"⽂本">"可滚动"。
2.创建⼀个向上按钮和⼀个向下按钮,或选择"窗⼝">"公⽤库">"按钮",然后将按钮拖动到舞台上。
您将使⽤这些按钮来上下滚动⽂本。
3.选择舞台中的向下按钮,并在"实例名称"⽂本框中键⼊down_btn。
4.选择舞台中的向上按钮,并在"实例名称"⽂本框中键⼊up_btn。
5.在时间轴上选择第 1 帧,然后在"动作"⾯板("窗⼝">"动作")中输⼊下⾯的代码,以在⽂本字段中
向下滚动⽂本:
10.在第 5 步中的 ActionScript 之后,输⼊下⾯的代码,以向上滚动⽂本:
可以⽤向上和向下按钮滚动加载到textField_txt⽂本字段的任何⽂本。
于字符串和 String 类
在编程语⾔中,字符串是字符的有序序列。
在 Flash ⽂档和类⽂件中经常要⽤字符串来在应⽤程序中显⽰⽂本,如在⽂本字段内。
⽽且,还可以将值存储为字符串,以在应⽤程序中⽤于多种⽬的。
可以通过在字符数据两端加上引号直接将字符串放到ActionScript 代码中。
有关创建字符串的详细信息,请参阅创建字符串。
有关使⽤⽂本字段的信息,请参阅使⽤ TextField 类。
可以将每个字符与特定的字符代码相关联,还可以选⽤该代码来显⽰⽂本。
例如,字符"A"⽤ Unicode 字符代码 0041 或⽤ASCII(美国标准信息交换码)代码 65 表⽰。
有关字符代码和代码图表的详细信息,请参阅
/doc/981a99df76eeaeaad1f330f6.html /charts。
如您所看到的,Flash ⽂档中的字符串表⽰⽅法主要取决于所选的字符集以及字符的编码⽅式。
字符编码是指⼀种代码或⽅法,⽤以将⼀种语⾔中的⼀个字符集表⽰为表⽰码(如数值)。
字符代码(在上⼀段中已提到)是⼀个映射值表(如 ASCII 表,其中 A 等于 65)。
编码⽅法将在计算机程序中对其进⾏解密。
例如,英语中的每个字母在⼀种字符编码中都有⼀个表⽰性的数值代码。
ASCII 将每个字母、数字和⼀些符号编码为每个整数的 7 位⼆进制版本。
ASCII 是由 95 个可打印字符和⼤量控制字符组成的字符集;ASCII 由计算机⽤于表⽰⽂本。
与 ASCII 类似,Unicode是另⼀种为字母表中的每个字母关联⼀个代码的⽅法。
由于 ASCII 不能⽀持⼤字符集(如汉语),因此 Unicode Standard 成为对语⾔进⾏编码的重要标准。
Unicode 是可表⽰任何语⾔集的字符集标准。
它是⼀种标准,旨在帮助在多种语⾔中进⾏开发。
字符代码指定它表⽰什么字符,⽽标准则试图提供⼀种通⽤的⽅法,以编码
任何⼀种语⾔中的字符。
字符串可以在任何计算机系统、平台或使⽤的软件上显⽰。
然后,由涉及的程序(如 Flash 或Web 浏览器)来显⽰字型(其可视的外观)。
多年以来,Unicode ⽀持的字符数已经扩展以便为更多(和更⼤)的语⾔提供⽀持。
字符编码被称为"Unicode 转换格式(UTF)"和"通⽤字符集 (UCS)",其中包括 UTF-8、UTF-16 和 UTF-32。
UTF 编码中的数字代表⼀个单元中的位数,⽽ UCS 编码中的数字代表字节数。
UTF-8 是⽤于交换⽂本的标准编码,如联机电⼦邮件系统。
UTF 是⼀个 8 位系统。
UTF-16 通常⽤于内部处理。
字符串在应⽤程序中的长度各异。
您可以确定字符串的长度,不过,此长度可能会因您所⽤的语⾔⽽异。
⽽且,在字符串的末尾可能会看到终⽌字符,此空字符没有值。
此终⽌字符不是实际字符,但是可⽤它来判断字符串何时结束。
例如,如果使⽤套接字连接,则可以通过观察终⽌字符来确定字符串是否已结束(如在聊天程序中)。
有关说明如何构建⼀个可⽐较和检索所选字符串和⼦字符串的简单⽂字处理程序的范例源⽂件 strings.fla,请参阅"Flash 范例"页,⽹址为/doc/981a99df76eeaeaad1f330f6.html /go/learn_fl_samples_cn。
下载并解压缩 Samples zip ⽂件,然后定位到ActionScript2.0/Strings ⽂件夹以访问该范例。
有关字符串和 String 类的详细信息,请参阅以下主题:
⾯板
使⽤ Locale 类
使⽤输⼊法编辑器
关于 String 类
创建字符串
关于转义字符
分析和⽐较字符串中的字符
转换和连接字符串
返回⼦字符串
学习 Adobe Flash 中的 ActionScript 2.0 / 使⽤⽂本和字符串 / 关于字符串和 String 类
⾯板
"字符串"⾯板可⽤于创建和更新多语⾔内容。
您可以为涵盖多种语⾔的⽂本字段指定内容,并让 Flash 根据运⾏ Flash Player 的计算机的语⾔⾃动确定应使⽤何种语⾔显⽰该内容。
有关"字符串"⾯板以及如何在应⽤程序中使⽤"字符串"⾯板的⼀般信息,请参阅《使⽤ Flash》中的以下主题:?"创作多语⾔⽂本"
"关于'字符串'⾯板"
"在'字符串'⾯板或 XML ⽂件中翻译⽂本"
"将 XML ⽂件导⼊到字符串⾯板"
您可以使⽤ Locale 类控制多语⾔⽂本的显⽰⽅式。
有关详细信息,请参阅使⽤ Locale 类和《ActionScript 2.0 语⾔参考》中的Locale (/doc/981a99df76eeaeaad1f330f6.html ng.Locale
使⽤ Locale 类
通过 Locale 类 (/doc/981a99df76eeaeaad1f330f6.html ng.Locale) 可控制在运⾏时多语⾔⽂本在 Flash 应⽤程序中的显⽰⽅式。
通过"字符串"⾯板,您可以在动态⽂本字段中使⽤字符串 ID(⽽不是字符串),这可允许您创建⼀个SWF ⽂件,以显⽰从特定语⾔的 XML ⽂件加载的⽂本。
您可以使⽤以下⽅法显⽰在 XML 本地化交换⽂件格式 (XLIFF) ⽂件中包含的特定语⾔的字符串。
运⾏时⾃动 Flash Player ⽤ XML ⽂件中的字符串替换字符串 ID,该⽂件与language
(/doc/981a99df76eeaeaad1f330f6.html nguage 属性)返回的默认系统语⾔代码匹配。
⼿动使⽤舞台语⾔在编译 SWF ⽂件时由字符串替换字符串 ID,但不能由 Flash Player 更改字符串 ID。
在运⾏时使⽤ ActionScript可以通过使⽤ ActionScript 在运⾏时控制字符串 ID 替换。
利⽤此选项,可以控制字符串 ID 替换的时间和语⾔。
如果要通过使⽤ ActionScript 替换字符串 ID,您可以使⽤ Locale 类的属性和⽅法在应⽤程序在 Flash Player 中播放时对其进⾏控制。
有关如何使⽤ Locale 类的演⽰,请参阅下⾯的过程。
使⽤ Locale 类创建多语⾔站点:
1.创建⼀个新的 Flash ⽂档,并将其另存为locale.fla。
2.打开"字符串"⾯板("窗⼝">"其它⾯板">"字符串"),然后单击"设置"。
3.选择两种语⾔ en(英语)和 fr(法语),然后单击"增加",将所选语⾔添加到"活动语⾔"⾯板。
4.选择"运⾏时通过 ActionScript"选项,将默认运⾏时语⾔设置为"法语",然后单击"确定"。
5.从"组件"⾯板("窗⼝">"组件")的"User Interface"⽂件夹将⼀个组合框组件拖到舞台上,并为其指
定实例名称lang_cb。
6.使⽤⽂本⼯具在舞台上创建⼀个动态⽂本字段,并为其指定实例名称greeting_txt。
7.在舞台上选择该⽂本字段,在"字符串"⾯板的"ID"⽂本框中键⼊字符串标识符greeting,然后单击"
应⽤"。
您将注意到 Flash 将字符串"greeting"转换为"IDS_GREETING"。
8.在"字符串"⾯板⽹格中,在 en 列中键⼊字符串hello。
9.在 fr 列中键⼊字符串bonjour。
使⽤lang_cb组合框更改舞台上的语⾔时将使⽤这些字符串。
10.将下⾯的 ActionScript 添加到主时间轴中的第 1 帧:
上⾯的 ActionScript 分为两个部分。
第⼀个部分代码导⼊ Locale 类并指定⼀个回调侦听器,每次下载完成⼀个语⾔ XML ⽂件就将调⽤该侦听器。
接着,使⽤可⽤语⾔的排序数组填充lang_cb组合框。
每次lang_cb值发⽣改变时,Flash 的事件调度程序就会触发langListener()函数,
加载特定语⾔的 XML ⽂件。
第⼆部分代码定义了两个函数
langListener()和
localeListener()。
每次⽤户更改lang_cb组合框的值时,就调⽤第⼀个函数
langListener()。
每次某个语⾔ XML ⽂件完成加载就将调⽤第⼆个函数
localeListener()。
该函数检查加载是否成功,如果成功,则将greeting_txt实例的text属性设置为与所选语⾔对应的问候语。
29.选择"控制">"测试影⽚"对该 Flash ⽂档进⾏测试。
所⽤的 XML ⽂件必须使⽤"XML 本地化交换⽂件格式"(XLIFF)。
⼩⼼Locale 类不是 Flash Player 的⼀部分,因此与《ActionScript 2.0 语⾔参考》中的其它类不同。
由于此类安装在 Flash Authoring 类路径中,因此将⾃动编译到 SWF ⽂件中。
由于 Locale 类必须编译到 SWF ⽂件,因此使⽤该类会稍微增加SWF ⽂件的⼤⼩。
有关详细信息,请参阅《ActionScript 2.0 语⾔参考》中的Locale (/doc/981a99df76eeaeaad1f330f6.html ng.Locale)。
使⽤输⼊法编辑器
通过输⼊法编辑器 (IME),⽤户可以键⼊亚洲语⾔(如中⽂、⽇语和朝鲜语)中的⾮ ASCII ⽂本字符。
通过 ActionScript 中的IME 类,您可以直接在运⾏在客户端计算机的 Flash Player 应⽤程序中对操作系统的 IME 进⾏操作。
使⽤ ActionScript 可以确定以下内容:
⽤户计算机上是否安装了 IME。
⽤户计算机上是否启⽤了 IME。
当前 IME 使⽤的转换模式。
IME 类可以确定当前 IME 使⽤的转换模式:例如,如果⽇语 IME 为活动状态,则可以使⽤
System.IME.getConversionMode()⽅法来确定其转换模式是否为平假名、⽚假名(等等)。
可以通过
System.IME.setConversionMode()⽅法进⾏设置。
注意⽬前还⽆法分辨出哪个 IME 处于活动状态(如果有),或者从⼀种 IME 更改为另⼀种 IME(例如将英语更改为⽇语,或者将朝鲜语更改为中⽂)
根据⽤户的操作系统,您还可以通过在运⾏时使⽤应⽤程序禁⽤或启⽤ IME,并执⾏其它功能。
可以通过使⽤
System.capabilities.hasIME属性检查系统是否具有 IME。
下⼀个⽰例演⽰如何确定⽤户是否安装并启⽤了 IME。
确定⽤户是否安装并启⽤了 IME:
1.创建⼀个新的 Flash ⽂档,并将其另存为ime.fla。
2.将下⾯的 ActionScript 添加到主时间轴中的第 1 帧:
上⾯的代码⾸先检查当前系统是否安装了 IME。
如果安装了 IME,则 Flash 将检查当前是否启⽤了该
IME。
13.选择"控制">"测试影⽚"来测试该⽂档。
"输出"⾯板中将显⽰⼀条消息,表明当前是否安装并启⽤了 IME。
还可以在运⾏时在 Flash 中使⽤ IME 类启⽤和禁⽤ IME。
下例要求您系统中安装了 IME。
有关在特定平台上安装 IME 的详细信息,请参阅以下链接:
/doc/981a99df76eeaeaad1f330f6.html /globaldev/default.mspx
/doc/981a99df76eeaeaad1f330f6.html /documentation/
/doc/981a99df76eeaeaad1f330f6.html
您可以在播放 SWF ⽂件时启⽤和禁⽤ IME,如下例所⽰。
在运⾏时启⽤和禁⽤输⼊法编辑器:
1.创建⼀个新的 Flash ⽂档,并将其另存为ime
2.fla。
2.在舞台上创建两个按钮元件实例,并为其分配实例名称enable_btn和disable_btn。
3.将下⾯的 ActionScript 添加到主时间轴中的第 1 帧:
前⾯的代码分为五个部分。
第⼀部分调⽤checkIME()⽅法,如果系统安装或启⽤了 IME,则该⽅法将在"输出"⾯板中显⽰⼀条消息。
第⼆部分定义⼀个⾃定义⽂本格式对象,该对象将字体设置为_sans。
第三部分创建⼀个输⼊⽂本字段并应⽤⾃定义⽂本格式。
第四部分为上⾯步骤中创建的enable_btn和disable_btn实例创建⼀些事件处理函数。
最后⼀部分,即第五部分代码定义⾃定义checkIME()函数,该函数检查当前系统是否安装了 IME,如果是,则检查该 IME 是否启⽤。
38.保存该 FLA ⽂件,然后选择"控制">"测试影⽚"对该⽂档进⾏测试。
注意该⽰例要求您系统中安装了 IME。
有关安装 IME 的信息,请参阅此⽰例前⾯的链接。
39.在舞台上的输⼊⽂本字段中键⼊⼀些⽂本。
将 IME 切换为不同语⾔,并再次在此输⼊⽂本字段中键⼊。
Flash Player 使⽤新 IME 输⼊字符。
如果在舞台上单击disable_btn按钮,则 Flash 将还原
为使⽤原来的语⾔并忽略当前的 IME 设置。
有关System.capabilities.hasIME的信息,请参阅《ActionScript 2.0 语⾔参考》中的hasIME (capabilities.hasIME 属性)。
关于 String 类
在核⼼ ActionScript 语⾔中字符串还是⼀个类和⼀种数据类型。
String 数据类型表⽰ 16 位字符的序列,可能包括字母、数字和标点符号。
字符串存储为 Unicode 字符,使⽤ UTF-16 格式。
对字符串值的操作返回字符串的⼀个新的实例。
⽤字符串数据类型声明的变量的默认值是null。
有关字符串、数据和值的详细信息,请参阅数据和数据类型.。
String 类包含使您能够使⽤⽂本字符串的⽅法。
在使⽤多个对象时字符串是⾮常重要的,⽽在将字符串⽤于多个对象(如TextField、XML、ContextMenu 和 FileReference 实例)时本章中介绍的⽅法是⾮常有⽤的。
String 类是字符串基元数据类型的包装,提供⽤于操作基元字符串值的⽅法和属性。
可以通过String()函数将任何对象的值转换为字符串。
String 类的所有⽅法(concat()、fromCharCode()、slice()和substr()除外)都是通⽤⽅法,这意味着在这些⽅法执⾏其操作前,这些⽅法都将调⽤toString()函数,并且可以对其它⾮ String 对象使⽤这些⽅法。
由于所有字符串索引都是从零开始,因此任何字符串myStr的最后⼀个字符的索引都是myStr.length - 1。
有关说明如何构建⼀个可⽐较和检索所选字符串和⼦字符串的简单⽂字处理程序的范例源⽂件 strings.fla,请参阅"Flash 范例"页,⽹址为
/doc/981a99df76eeaeaad1f330f6.html /go/learn_fl_samples_cn。
下载并解压缩 Samples zip ⽂件,然
后定位到ActionScript2.0/Strings ⽂件夹以访问该范例。
创建字符串
可以使⽤构造函数⽅法new String()或者使⽤字符串值调⽤ String 类的任何⽅法。
如果您指定了⼀个字符串,则 ActionScript 解释程序会⾃动将其转换为⼀个临时 String 对象,再调⽤⽅法,然后放弃该临时 String 对象。
还可以将String.length属性⽤于字符串。
请不要将字符串⽂本和 String 对象相混淆。
有关字符串和 String 对象的详细信息,请参阅关于⽂本。
在下例中,此⾏代码将创建字符串firstStr。
若要声明字符串,请使⽤单直引号 (') 或双直引号 (") 分隔符。
创建和使⽤字符串:
1.创建⼀个新的 Flash ⽂档,并将其另存为strings.fla。
2.将下⾯的 ActionScript 添加到主时间轴中的第 1 帧:
这些代码定义 3 个 String 对象:⼀个使⽤字符串,⼀个使⽤new运算符,另⼀个没有初始值。
通
过使⽤等号 (==) 运算符可对字符串进⾏⽐较,如第三⾏代码所⽰。
在引⽤变量时,只有在定义了变量
时才能指定数据类型。
9.选择"控制">"测试影⽚"来测试该⽂档。
除⾮您确实需要使⽤ String 对象,否则请使⽤字符串。
有关字符串和 String 对象的详细信息,请参阅关于⽂本。
若要在单字符串中使⽤单直引号 (') 和双直引号 (") 分隔符,请使⽤反斜杠字符 (\) 来转义字符。
下⾯的两个字符串是等效的:
有关在设置中使⽤反斜杠字符的详细信息,请参阅关于转义字符。
请记住,不能在 ActionScript 代码中使⽤"弯曲引号"或"特殊引号"字符;它们与可在代码中使⽤的直引号 (') and (") 不同。
当将来⾃其它源(如 Web 或 Word ⽂档)的⽂本粘贴到 ActionScript 时,请务必使⽤直引号分隔符。
有关说明如何构建⼀个可⽐较和检索所选字符串和⼦字符串的简单⽂字处理程序的范例源⽂件 strings.fla,请参阅"Flash 范例"页,⽹址为/doc/981a99df76eeaeaad1f330f6.html /go/learn_fl_samples_cn。
下载并解压缩 Samples zip ⽂件,然后定位到ActionScript2.0/Strings ⽂件夹以访问该范例。
关于转义字符
可以使⽤反斜杠转义字符 (\) 在字符串中定义其它字符。
有关字符串的详细信息,请参阅关于⽂本和创建字符串。
分析和⽐较字符串中的字符
字符串中的每个字符在字符串中都有⼀个索引位置(整数)。
第⼀个字符的索引位置为 0。
例如,在字符串yellow 中,字符y 位置为 0,⽽字符w位置为 5。
每个字符串都有length属性,其值等于字符串中的字符数:
空字符串和 null 字符串的长度都为 0:
如果字符串不包含任何值,则它的长度设置为 undefined:
如果字符串包含⼀个空字节字符 (\0),则该字符串值将被截断。
警
告
还可以使⽤字符代码来定义字符串。
有关字符代码和字符编码的详细信息,请参阅关于字符串和 String 类。
下例创建⼀个名为myStr的变量,并基于传递到String.fromCharCode()⽅法的 ASCII 值设置字符串值:
上⾯代码中的fromCharCode()⽅法中列出的每个数字表⽰⼀个字符。
例如,ASCII 值 104 表⽰⼀个⼩写的h,⽽ ASCII 值 32表⽰空格字符。
还可以使⽤String.fromCharCode()⽅法转换 Unicode 值,尽管 Unicode 值必须从⼗六进制转换为⼗进制值,如下⾯的ActionScript 所⽰:
可以检查字符串中各个位置上的字符,如下例所⽰。
循环⼀个字符串:
1.创建⼀个新的 Flash ⽂档。
2.将下⾯的 ActionScript 添加到主时间轴中的第 1 帧:。