| 首页 | 新闻 | 网页 | 设计 | 色彩 | 原创 | 视觉 | 素材 | 动漫 | 酷站 | 策划 | 文案 | 访谈 | 运营 | 编程 | 数据库 | 服务器 | 下载 | 图库 | 
您的位置: 幽幽天空 > 网页 > 网页制作 > Flash教程 > ActionScript教程 > 文章正文 用户登录
轻松实现博客介绍
Dotworlds免费提供
企业网站如何实现
从中文AdWords的广
在FLAHS中实现LRC
flash动态读取xml
实现在Flash课件中
ASP.NET中实现Fla
flash中实现js的图
数据结构队列的实

实现word的批量替换功能,as动态文字功能的类-StringUtil           

实现word的批量替换功能,as动态文字功能的类-StringUtil

作者:佚名 来源:闪吧 作者: wei386 更新:2007-1-13 20:47:35 错误报告 我要投稿

即上次的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<strarray.length; i++) {
strarray[i] = stringObject.charAt(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<mcarray.length; i++) {
//声明mc的名字
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版会提供文字特效,会进一步对程序优化,提供设置文字格式的专门的方法,希望大家指正,呵呵
文章录入:skyuu    责任编辑:skyuu 
  • 上一篇文章:

  • 下一篇文章:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    发表评论:
    姓名:  评 分: 1分 2分 3分 4分 5分
     
  • 严禁发表危害国家安全、政治、黄色淫秽等内容的评论。
  • 用户需对自己在使用幽幽天空服务过程中的行为承担法律责任。
  • 本站管理员有权保留或删除评论内容。
  • 评论内容只代表机友个人观点,与本网站立场无关。