实现word的批量替换功能,as动态文字功能的类-StringUtil
作者 佚名技术
来源 服务器技术
浏览
发布时间 2012-07-11
即上次的SimpleDateFormat(格式化日期类)后的又一个原创类,大家评评,继续努力,呵呵. 这是这几天弄得,现在是1.0版,StringUtil是字符串工具类,说是文字工具类也可以,现在主要可以实现这几个功能: 1.批量替换功能,用replace(str,str2)方法,可以将制定的文本中的str替换成str2, 2.将制定文本中的每一个字符,用getMovileClip()转化成mc,这样就可以利用控制mc来控制这些字符,简单做出文字特效.返回的是MovieClilp数组 3.将制定文本中的每一个字符,作为数组元素,返回数组 代码如下 /** * Title: 字符串工具类 * Description: 工具类 * Company: * Copyright * @author wei386 * @version 1.0 */ class StringUtil extends String { private var stringObject:String; private var mcarray:Array; /** * 设置字符串 * @param str 将要操作的字符串 * @return void */ function setText(str):Void { this.stringObject = str; } /** * 得到当前StringUtil对象的字符串 * @param str 将要操作的字符串 * @return void */ function getText():String { return this.stringObject; } /** * 替换字符串中的字符 * @param findstr 查找的字符串 * @param replstr 将要替换的字符串 * @return String */ function replace(findstr:String, replstr):String { var strindex:Number = 0; strindex = stringObject.indexOf(findstr); for (;;) { if (strindex == -1|laststrindex==-1) { return this.stringObject; } // 取得开始字符 var startstr = this.stringObject.substring(0, strindex) // 取得最后字符 var laststr = this.stringObject.substring(strindex+findstr.length, this.stringObject.length); // 在最后字符中查找是否还有要替换的字符 var laststrindex = laststr.indexOf(findstr) this.stringObject = startstr+replstr+laststr // 设置开始字符截取位置,使每次只查找最后字符中是否有要替换的字符 strindex = strindex +laststrindex+replstr.length } } /** * 返回字符串的字符数组,将字符串的每一个字符作为数据的元素返回 * @param * @return Array */ function getChar():Array { var strarray = new Array(stringObject.length); for (var i = 0; i } return strarray; } /** * 得到以字符串每一个字符为MovieClilp的对象,MovieClip数组 * @param strcolor 文字颜色 * @param strsize 文字大小 * @return Array */ function getMovieClip(strcolor:Number,strsize:Number):Array { //声明数组,存放mc对象 this.mcarray = new Array(stringObject.length); for (var i = 0; i var mcarray_name:String = "StringUtil.mc_"+i //在1000000层上创建一个空mc,名为"StringUtil.mc_"+i的格式 _level0.createEmptyMovieClip(mcarray_name,10000000+i) //将这个产生的mc个i数组对象 mcarray[i]=_level0[mcarray_name] //定义textfield的名字 var textfieldname = mcarray[i]._name; //在mc上创建一个textfield mcarray[i].createTextField(textfieldname,10000000+i,0,0,100,100); // 设置textfield的字符 mcarray[i][textfieldname].text=stringObject.charAt(i); // 设置文本不可选中 mcarray[i][textfieldname].selectable=false var textformat:TextFormat = new TextFormat(); textformat.color=strcolor; textformat.size=strsize; mcarray[i][textfieldname].setTextFormat(textformat); } return mcarray; } } 使用方法: 新建一个fla文件,写上 var strutil = new StringUtil(); strutil.setText("闪吧我的家");//设置要操作的文字 替换字符串方法: strutil.replace("我","我们"); 就可以将strutil.setText()方法设置的字符串"闪吧我的家"中的"我"换成"我们" 将字符串换成MovieClip的方法: var mcarray = strutil.getMovieClip(0x0099cc,50) 就可以将"闪吧我的家"中的每个字符转换成MC,0x0099cc是字的颜色,50是大小,返回的mcarray是数组 转换成mc后大小就可以用mcarray[i]._width,mcarray[i]._height控制了,就跟mc一样,然后就可以做自己的文字特效了. 这个类可以用来做as歌词用,只要每次setText()时,不同的字符串,也就是每句歌词,就可以了. 这只是1.0版,不是完整版,正在继续开发,2.0版会提供文字特效,会进一步对程序优化,提供设置文字格式的专门的方法,希望大家指正,呵呵 关键词:替换 |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |
你可能对下面的文章感兴趣
上一篇: 变色花环下一篇: AS教程-光环飞舞效果的实现的实例
关于实现word的批量替换功能,as动态文字功能的类-StringUtil的所有评论