AS3 CookBook学习整理(十一)

1. 遍历字符串中的字符

有两种方法实现:

<1> 直接以char的形式遍历

 {
 flash.display.Sprite;
  Sample0603Sprite
 {
   Sample0603()
  {
   str:String = ;
   
   (i:int=0;i<str.length;i++)
   {
    (str.charAt(i));
   }
  }
 }
}

<2> 先split(""),然后当成一个数组来遍历

这样的好处在于,可以用数组的系列方法来进行字符的排序,删除等处理

 {
 flash.display.Sprite;
  Sample0603Sprite
 {
   Sample0603()
  {
   str:String = ;
   
   arr:Array = str.split();
   
       
   (i:int=0;i<arr.length;i++)
   {
    (arr[i]==)
    {
     arr.splice(i,1);
     i--;
    }
   }
   
   (arr.join());
  }
 }
}

2. 大小写转换

可以利用str.toUpperCase()转换为大写,str.toLowerCase()转换为小写

可以通过ascb的StringUtilities.toInitialCap(str),将整个字符串的第一个字母变成大写,其它全部小写

可以通过ascb的StringUtilities.toTitleCase(str),将每个单词(以空格区分)的首字母大写,其它小写

 {
 ascb.util.StringUtilities;
 flash.display.Sprite;
  Sample0603Sprite
 {
   Sample0603()
  {
   str:String = ;
   
   (str.toLowerCase());    
   (str.toUpperCase());    
   (StringUtilities.toInitialCap(str));    
   (StringUtilities.toTitleCase(str)); 
  }
 }
}

3. 去除首尾空格(Trim)

有两种方法:

mx.utils.StringUtil.trim(str)

ascb.util.StringUtilities.trim(str)

4. 反转(reverse)字符串

使用split()方法创建字符数组,然后调用数组的reverse()和join()方法

 {
 flash.display.Sprite;
 
  Sample0611Sprite
 {
   Sample0611()
  {
   str:String = ;
   
    
   arr2:Array = str.split();
   arr2.reverse();
   (arr2.join());
   
    
   arr:Array = str.split();
   arr.reverse();
   (arr.join());
  }
 }
}

5. 得到字符的Unicode码或ASCII码

String.fromCharCode(...charCodes) -- 得到当前ASCII码对应的字符

str.charCodeAt(index) -- 得到当前索引下字符对应的ASCII码值

 {
 flash.display.Sprite;
 
  Sample0611Sprite
 {
   Sample0611()
  {
   (String.fromCharCode(65)); 
   (String.fromCharCode(97,98,99));    
   str:String = ;
   (str.charCodeAt(0)); 
  }
 }
}

6. 创建一个Date对象

标准构造函数是:

public function Date(yearOrTimevalue:Object, month:Number, date:Number = 1, hour:Number = 0, minute:Number = 0, second:Number = 0, millisecond:Number = 0)

* 如果未传递参数,则赋予Date对象当前客户端日期和时间

* 如果传递一个Number数据类型的参数,则基于自GMT时间1970年1月1日 0:00:000以来的毫秒数+该数字

* 如果传递一个String数据类型的参数,并且该字符串包含一个有效日期,则赋予Date对象此日期和时间,否则返回"Invalid Date"。符合规范的格式如下:

Day Month Date Hours:Minutes:Seconds GMT Year(例如,“Tue Feb 1 00:00:00 GMT-0800 2005”,这与 toString() 一致)

Day Month Date Year Hours:Minutes:Seconds AM/PM(例如,“Tue Feb 1 2005 12:00:00 AM”,这与 toLocaleString() 一致)

Day Month Date Year(例如,“Tue Feb 1 2005”,这与 toDateString() 一致)

Month/Day/Year(例如,“02/01/2005”)

Month/Year(例如,“02/2005”)

 {
 flash.display.Sprite;
  Sample0616Sprite
 {
   Sample0616()
  {
   date:Date = Date();
   (date);    
   date = Date(4000);
   (date);    
   date = Date();
   (date); 
  }
 }
}

7. 获取Date对象的信息

可以通过fullYear、month、date、day、hours、minutes等属性得到Date对象的详细信息

ASCB下的DateFormat类封装了星期与月份的名称数组,如DAYS, DAYS_ABBREVIATED, MONTHS, 和MONTHS_ABBREVIATED

PS:和.net不一样,day是返回星期,date返回的才是日期部分。星期日对应的day是0

 {
 ascb.util.DateFormat;
 
 flash.display.Sprite;
  Sample0616Sprite
 {
   Sample0616()
  {
   date:Date = Date();
   
   (date);   
   (date.fullYear);  
   (date.month + 1);  
   (date.date);   
   (date.day);   
   (date.hours);   
   (date.minutes);  
   (date.seconds);  
   (date.milliseconds);  
   (DateFormat.DAYS[date.day]);  
   (DateFormat.DAYS_ABBREVIATED[date.day]);  
   (DateFormat.MONTHS[date.month]);  
   (DateFormat.MONTHS_ABBREVIATED[date.month]);  
  }
 }
}

8. 格式化日期和时间

利用ascb.util.DateFormat类的format(date)方法来格式化

 {
 ascb.util.DateFormat;
 
 flash.display.Sprite;
  Sample0616Sprite
 {
   Sample0616()
  {
   date:Date = Date();   
   (date); 
   (DateFormat().format(date)); 
   (DateFormat().format(date)); 
   (DateFormat().format(date)); 
   (DateFormat().format(date)); 
   (DateFormat().format(date)); 
   (DateFormat().format(date)); 
   (DateFormat().format(date)); 
   (DateFormat().format(date)); 
  }
 }
}

9. 格式化秒或毫秒为mm:ss格式

使用ascb.util.DateFormat.formatSeconds( ) 或ascb.util.DateFormat.formatMilliseconds( )方法

 {
 ascb.util.DateFormat;
 
 flash.display.Sprite;
  Sample0616Sprite
 {
   Sample0616()
  {
   (DateFormat.formatSeconds(301));     
   (DateFormat.formatMilliseconds(68000));  
  }
 }
}

10. 创建Sound对象

要载入声音文件到Sound对象上,需要先创建一个包含mp3文件路径的URLRequest对象,然后调用Sound.load()方法来载入,例如:

var _sound:Sound = new Sound();

_sound.load(new URLRequest("song.mp3");

也可以直接将URLRequest传递给Sound类的构造函数,写法更为简捷:

var _sound:Sound = new Sound(new URLRequest("song.mp3"));

注意:

* 如果是以构造函数的形式创建Sound对象,则自动调用Sound对象的load()方法;否则需要自己调用load()方法

* 一旦对某个Sound对象调用了load(),就不能再将另一个声音文件加载到该Sound对象中。若要加载另一个声音文件,请创建新的Sound对象

转载于:https://www.cnblogs.com/CoderWayne/archive/2010/07/15/1778072.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值