在FLASH MX中有一些函数在旧版本中曾经存在过,在新版本中仍然可以使用(这个在软件开发应用中叫做:向下兼容性),但是不建议使用。一来,因为这些函数的功能都可以通过其他函数来实现,二,在以后的版本中可能会不再支持,因此,大家尽量不要使用这些函数:
1.chr函数
chr函数的作用是把ASCII码转化为相应的字符,动作指令的语法格式如下: chr(number);
参数number就是要转换的ASCII码。
该函数的功能现在可以由String.fromCharCode 动作实现。
新函数用法: myString.fromCharCode(c1,c2,...cN) 参数: myString:已经存在的 String 对象。 C1,c2,…cN:数字值,表示组成字符串的一个或多个 ACSII 码。 返回: 一个字符串值 介绍: 使用 String 对象的 fromCharCode 方法,可以获取由一个或多个 ASCII 码表示的字符组成的字符串值。参数(c1,c2,...cN)指定组成字符串的一个或多个 ASCII 码。返回的字符串值,是将参数中指定的 ASCII 码转换成字符并连接完成后的字符串值。
具体举例请参看下文的第4点中的例子。
2.int函数
int函数的作用是将数值取整,动作指令的语法如下: int(value);
参数value就是要取整的数值;取整方式是四舍五入,该动作指令可由Math.round动作来实现。
新函数用法: Math.round(x) 参数: x:数字值,表示要处理的数值。 返回: 一个数字值 介绍: 使用 Math 对象的 round 方法,可以获取参数(x)中数值四舍五入运算后的结果,例如 Math.round(8.5) 返回 9 。
本人质疑:我是到现在还常常用int的,我觉得很好用,而且上文好象有错。不行大家可以自己验证以下代码 a=int(8.4); b=Math.round(8.4); c=int(8.6); d=Math.round(8.6); 结果a b c d四个动态文本输出值为:8 8 8 9 。可见int的取整是只舍不入的(个人得出的结论,有不对的地方,请各位斧正)如果我说的没有错,那倒是可以用Math.floor(x)来代替int(x)的功能。
3.length函数
length函数的作用是获得指定表达式的字符串长度,动作指令的语法格式如下: length(expression); 参数expression就是需要获取长度的字符串(或者是变量名);
该函数的功能可由字符串对象的string.length属性获得。
新函数的用法: myString.length 参数: myString:已经存在的 String 对象。 返回: 一个数字值 介绍: 通过读取 String 对象的 length 属性,可以获取当前 myString 字符串对象中储存字符串信息的字符个数。返回的数字值表示获取的字符个数。
例子:在帧上输入代码: mystring=new String("祝闪吧所有的朋友新年快乐!"); trace(mystring.length);
或者: trace("祝闪吧所有的朋友新年快乐!".length)
在输出窗口都可以显示字符茶的长度为13。
4. mbchr函数 mbchr函数的作用是把代码转换成相应的多字节字符。动作指令的语法格式如下: mbchr(number); 参数number就是要转换的代码。
该函数的功能可由string.fromCharCode动作指令实现。
新函数的用法: String.fromCharCode(c1,c2,...cN) 参数: myString:已经存在的 String 对象。 C1,c2,…cN:数字值,表示组成字符串的一个或多个 ACSII 码。 返回: 一个字符串值 介绍: 使用 String 对象的 fromCharCode 方法,可以获取由一个或多个 ASCII 码表示的字符组成的字符串值。参数(c1,c2,...cN)指定组成字符串的一个或多个 ASCII 码。返回的字符串值,是将参数中指定的 ASCII 码转换成字符并连接完成后的字符串值。
例子: 在帧上输入以下代码: str=String.fromCharCode(106,103,119,54,52,52,55); trace(str);
输出窗口将显示:jgw6447 (呵呵.......自恋一把,大家不要扔我鸡蛋 )
5.mblength函数 mblength函数的作用是返回多字节字符串的长度,动作指令的语法格式如下: mblength(string); 参数string就是目标字符串;
该函数的功能可由mystring.length属性实现。
myString.length 的用法参看上面第3点
6.mbord函数mbord函数的作用是把指定字符串转换成相应的多字节编码,动作指令的语法格式如下: mbord(character);
参数character就是要转换的字符。此函数的功能可由mystring.charCodeAt动作指令实现。新函数用法: myString.charCodeAt(index) 参数: myString:已经存在的 String 对象。 Index:数字值,表示要获取的字符位置。 返回: 一个数字值 介绍: 使用 String 对象的 charCodeAt 方法,可以获取 myString 字符串对象中指定位置字符的 ASCII 码。参数(index)指定要获取字符在 myString 字符串中的位置,注意字符串的字符索引序号是从 0 开始的。返回的数字值,是获取字符的 ASCII 码。
例子:在帧上加代码: str=new String("jgw6447"); trace(str. charCodeAt(0));
输出窗口将显示106也就是j的ASCII码
如果把代码改成: str=new String("jgw6447"); for(i=0;i<7;i++){ trace(str. charCodeAt(i)); } 那么输出内容就是全部字符的ASCII码值,显示为: 106 103 119 54 52 52 55
7.mbsubstring函数mbsubstring函数的作用是指定多字节字符串的子串,动作指令的语法格式为: mbsubstring(value,index,count); 各参数: value-----要提取子串的字符串(通常称为主串) index-----子串的第一个字符的位置; count-----要提取的字符的个数(也就是子串的字符数)
该函数的功能可由mystring.substr动作实现;
新函数的用法:
myString.substr(start, length) 参数: myString:已经存在的 String 对象。 start:数字值,表示要截取字符串的开始位置。 length:数字值,表示要截取字符串的长度。(可选) 返回: 一个字符串值 介绍: 使用 String 对象的 substr 方法,可以获取 myString 字符串对象中从指定的位置开始截取指定长度的字符串信息。参数(start)指定开始截取字符的位置,设置为 0 表示从字符串中的第一个字符开始,如果设定该值为负数,则表示起始位置从字符串的尾部计起。参数(length)指定截取字符串的长度,如果省略该参数,则表示截取自开始位置起后面的所有字符信息。返回的字符串值,表示截取的字符串信息。
例子:在帧上加如下代码: str="jgw6447"; s1=str.substr(0,3); s2=str.substr(3,4); trace("s1="+s1+" s2="+s2)
输出窗口显示:s1=jgw s2=6447
8.ord函数ord函数的作用是将字符转换为ASCII码,动作指令的语法格式如下: ord(character); 参数character就是要转化为ASCII码的字符。
该函数的功能可由mystring.charCodeAt动作指令实现。
具体的用法和例子参看本文第6点。
9.random函数random函数的作用是产生一个0到指定整数的随机数,动作指令的语法格式如下: random(value);
参数value就是随机数的上限。
该函数的功能可由Math.random实现。
其实我本人还是很喜欢用random的,大不了加一些必要的数学运算进来,照样可以达到我想要的效果。这只是个人习惯,还是建议初学者用Math.random,毕竟这个比较规范!
新函数的用法: Math.random(); 使用 Math 对象的 random 方法,可以获取一个0.0 到 1.0 之间的随机数。
例子:在按钮上加代码: on(release){ trace(Math.random()); } 点击几次后的输出结果为: 0.606361729558557 0.15098334569484 0.966913965065032 0.168072482105345 0.492516168393195 0.337448082864285 0.580276881810278
10.substring函数substring函数的作用是取指定的字符串,动作指令的语法格式如下: substring(value,index,count); 各参数: value-----要提取子串的字符串(通常称为主串) index-----子串的第一个字符的位置; count-----要提取的字符的个数(也就是子串的字符数)
该函数的功能可由mystring.substr动作实现。 myString.substr函数的用法以及例子参看本文第7点
好了,到这里为止10个不鼓励使用的函数介绍完了,写这个东西参考了几本AS学习方面的书,其中的应用举例都是临时写的,自己做了验证,应该没有错误。至于其中一些牵涉到比较鲜明的个人观点部分,希望大家自己看着办,不可照搬全收,批判接受吧,当然你要是全盘否定,也是可以的!
说明:1.为了防止初学者走歪路,学到旧的函数的用法,在这篇文章里,所有的旧函数我一律只大致介绍其各个参数,而没有结合具体的例子说明其用法。 2.有些函数用的习惯了,用到的时候还是不习惯换,不知道有多少人和我一样,还喜欢用random,substring,int.....大概要等到MM真的不支持这些函数的时候,我才改的过来。晕!
至于用于代替他们的新函数,我已经尽量加上具体的例子说明问题,如有不明白的希望你仔细参看实例,实在不明白可以跟帖大家讨论或者PM我。
祝各位新年愉快,学习愉快!
这个是我最近写的三个东西中的最后一个(还有两个分别是:关于计时效果的讲解和运动出现的文字的教程),总算全部搞定了。今晚可以睡个安稳觉了!呵呵......