-
AS菜鸟教程9 字符串与输入文本操作
Posted on January 30th, 2008 No commentsFlash中的文本形?有3?,???文本?动?文本和输入文本。输入文本?以接?用户输入,这也是?应键盘事件的一?。输入文本是一?人机交互工具,输入文本作为???以被ActionScript识别。
有许多方法?以?纵String(字符串)对象,如使用?算符“+?连接字符串,使用substring和substr函数从目标字符串中截??字符串,使用indexOf函数确定匹?字符串在目标字符串中的?置等。
9.1 输入文本
Flash中的文本形?有3?,???文本?动?文本和输入文本。输入文本?以接?用户输入,这也是?应键盘事件的一?。
3?形?的文本都是由文本工具 创建的,?创建输入文本,首先?使用文本工具绘制一个文本框,然?在属性??中将该文本框的类型设置?输入文本.在输入文本的属性??中,除?以设置一般的文本格?外,还?以?击 按钮将文本显示为HTML格?,?击 按钮为文本添加边框,在 ??的下拉列表框中设置文本的?行格?或将文本设置?密?显示。
输入文本最??的是????,如图9-2所示中的“???文本框,其中的myInputText?是该输入文本的????。输入文本??和其他??类似,??的值会呈现在输入文本框中,输入文本框中的值?时也作为输入文本??的值,它们之间是等价的。
如在场景中绘制了一个????为myInputText的输入文本框,然?在主时间轴的帧动作??中添加如下ActionScript:
Key.addListener(_root);
_root.onKeyDown = function() {
trace(_root.myInputText);
};
以上脚本创建一个键盘侦?器,当按下键时?将输入文本myInputText中的内容显示在输出窗?中。测试一下您?以看到,输出窗??会?掉输入的?个字符,并且?输入一个字符?输出一行。
9.2 字符串
字符串是一?特殊类型的数?,对字符串?以进行多??作。
9.2.1 连接字符串
?连接两个字符串,?以使用“+??算符。如下所示:
var myString = ”Hello”;
myString += ” World.”;
trace(myString);
输出窗?中将输出如下所示的字符串:
Hello World.
您?以在一行ActionScript中使用多个“+??算符,如下所示:
myStr1 = ”How”;
myStr2 = ”are”;
myStr3 = ”you”;
myStr = myStr1+” ”+myStr2+” ”+myStr3+”?”;
trace(myStr);
输出窗?中将输出如下所示的字符串:
How are you?
9.2.2 截?字符串
从字符串中?以截?它的?字符串。例如,下?的脚本从字符串中截?第5到第14个字符组?的?字符串:
myString = ”ActionScript is so useful!”;
childStr = myString.substring(4, 14);
trace(childStr);
截?字符串函数substring有两个?数,第一个?数表示?截?的字符串的开始?置,第2个?数表示?截?的字符串的结??置。
输出窗?中输出如下所示的?字符串:
onScript i
我们?截?的?字符串是从第5个开始,为什么substring的?数中?从4开始呢?这是因为在ActionScript中,通常是从0开始计数的,? 上?的字符串中第0?上是A,第1?上是c,以此类推。那么既然从0开始计数,第14个字符就应该是第13?,为什么第2个?数?是13而是14呢?这是 因为substring的第2个?数是指?截?到的?置,??截?的最?一个字符是它??的一个字符,所以它应该比?截?的最?一个字符多一?。
还有一?方法?以截?字符串,这就是substr。substr与substring命令的区别在于substr的第2个?数代表?截?的?字符串的长度。如下所示的ActionScript实现与?例相?的效果:
myString = ”ActionScript is so useful!”;
childStr = myString.substr(4, 10);
trace(childStr);
在输出窗?中输出?字符串:
onScript I
还有一个特殊的截?字符串的命令charAt。charAt?以从字符串的指定?置截?一个字符,如?从??的字符串中截?第6?上的字符S,?以使用如下所示的ActionScript:
myString = ”ActionScript is so useful!”;
childStr = myString.charAt(6);
trace(childStr);
输出窗?中将输出字符S。
9.2.3 字符串函数
String对象有很多内置函数,使您?以对字符串进行???作。
indexOf方法用于从目标字符串中查找?一字符串的索引,?与?一字符串相匹?的?字符串的起始?置。如下所示:
myString = ”Macromedia Flash MX”;
myStr = myString.indexOf(“Flash”, 0);
trace(myStr);
以上脚本从目标字符串“Macromedia Flash MX?中查找字符串“Flash?的?置,?行该脚本,输出窗?中输出11。
如果目标字符串中没有找到相匹?的字符串,将返回-1。
indexOf的第2个?数表示从目标字符串中开始查找的起始?置,?例中的0表示从目标字符串的第1个字符开始查找。该?数?以?略,将默认从第1个字符开始查找。
与indexOf函数相对的是lastindexOf,用它查找在?数所指定的开始?置之?的最?一个?字符串的索引,?逆?查找。如下所示:
myString = ”Macromedia Flash MX”;
myStr = myString.lastindexOf(“a”, 12);
trace(myStr);
?行该脚本,输出窗?中输出9。
如果将?数12改?13或更大的数,或将该?数?略,将返回结果13。
String对象的toLowerCase函数实现将大写字?转?为?写形?,toUpperCase函数实现将?写字?转?为大写形?。如下所示:
myString = ”Macromedia Flash MX”;
myStr1 = myString.toLowerCase();
myStr2 = myString.toUpperCase();
trace(“Original String : ”+myString);
trace(“LowerCase String : ”+myStr1);
trace(“UpperCase String : ”+myStr2);
?行该脚本,输出窗?中显示:
Original String : Macromedia Flash MX
LowerCase String : macromedia flash mx
UpperCase String : MACROMEDIA FLASH MX
String对象?有一个属性,?length,它表示字符串的长度,?字符串中包?字符串的个数,如下所示:
myString = ”Macromedia Flash MX”;
trace(myString.length);
?行该脚本,输出窗?中显示19,?该字符串中共19个字符。
在使用String对象的函数和属性时?注?,字?的大写形?和?写形?是有区别的,并且?个空格也作为一个字符。Random Posts


