天天新发现,天天有惊喜!
RSS icon Email icon Home icon
  • AS菜鸟教程9 字符串与输入文本操作

    Posted on January 30th, 2008 admin No comments

    Flash中的文本形?有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

      Leave a reply

      You must be logged in to post a comment.