AS 3 CookBook学習整理(十一)
13156 ワード
1.文字列を巡回する文字
次の2つの方法があります.
<1>直接charの形で遍歴する
このような利点は,配列の系列法で文字の並べ替え,削除などの処理が可能であることである.
str.toUpperCase()を大文字に、str.toLowerCase()を小文字に変換できます.
ascbのStringUtilitiesを通過することができる.toInitialCap(str)は、文字列全体の最初のアルファベットを大文字にし、その他のすべての小文字を
ascbのStringUtilitiesを通過することができる.toTitleCase(str)、各単語(スペースで区別)の頭文字を大文字、その他の小文字
2つの方法があります.
mx.utils.StringUtil.trim(str)
ascb.util.StringUtilities.trim(str)
4.反転(reverse)文字列
split()メソッドを使用して文字配列を作成し、配列のreverse()メソッドとjoin()メソッドを呼び出します.
String.fromCharCode(...charCodes)--現在のASCIIコードに対応する文字を取得
str.charCodeAt(index)--現在のインデックスの下の文字に対応するASCIIコード値を取得
標準コンストラクション関数は次のとおりです.
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:00 GMT-08000 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」)
Dateオブジェクトの詳細はfullYear、month、date、day、hours、minutesなどの属性で入手できます
ASCBの下のDateFormatクラスは、DAYS、DAYSなどの週と月の名前配列をカプセル化しています.ABBREVIATED、MONTHS、およびMONTHS_ABBREVIATED
PS:と.Netは違って、dayは曜日を返して、dateは日付の部分を返します.日曜日対応dayは0
ascbを利用する.util.DateFormatクラスのformat(date)メソッドでフォーマット
ascbを使用する.util.DateFormat.formatSeconds()またはascb.util.DateFormat.formatMilliseconds()メソッド
サウンドファイルをSoundオブジェクトにロードするには、まずmp 3ファイルのパスを含む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()メソッドを自分で呼び出す必要があります
*サウンドオブジェクトに対してload()を呼び出すと、そのサウンドオブジェクトに別のサウンドファイルをロードすることはできません.別のサウンドファイルをロードするには、新しいSoundオブジェクトを作成します.
次の2つの方法があります.
<1>直接charの形で遍歴する
package {
import flash.display.Sprite;
public class Sample0603 extends Sprite
{
public function Sample0603()
{
var str:String = "what a beautiful girl";
for(var i:int=0;i<str.length;i++)
{
trace(str.charAt(i));
}
}
}
}
<2>まずsplit("")を行い、それから配列として遍歴するこのような利点は,配列の系列法で文字の並べ替え,削除などの処理が可能であることである.
package {
import flash.display.Sprite;
public class Sample0603 extends Sprite
{
public function Sample0603()
{
var str:String = "what a beautiful girl";
var arr:Array = str.split("");
//arr.sort(); //
for(var i:int=0;i<arr.length;i++)
{
if(arr[i]=="u")
{
arr.splice(i,1);
i--;
}
}
trace(arr.join(""));
}
}
}
2.大文字と小文字の変換str.toUpperCase()を大文字に、str.toLowerCase()を小文字に変換できます.
ascbのStringUtilitiesを通過することができる.toInitialCap(str)は、文字列全体の最初のアルファベットを大文字にし、その他のすべての小文字を
ascbのStringUtilitiesを通過することができる.toTitleCase(str)、各単語(スペースで区別)の頭文字を大文字、その他の小文字
package {
import ascb.util.StringUtilities;
import flash.display.Sprite;
public class Sample0603 extends Sprite
{
public function Sample0603()
{
var str:String = "What a beautiful Girl!";
trace(str.toLowerCase());//what a beautiful girl!
trace(str.toUpperCase());//WHAT A BEAUTIFUL GIRL!
trace(StringUtilities.toInitialCap(str));//What a beautiful girl!
trace(StringUtilities.toTitleCase(str));//What A Beautiful Girl!
}
}
}
3.先頭と末尾のスペースを削除(Trim)2つの方法があります.
mx.utils.StringUtil.trim(str)
ascb.util.StringUtilities.trim(str)
4.反転(reverse)文字列
split()メソッドを使用して文字配列を作成し、配列のreverse()メソッドとjoin()メソッドを呼び出します.
package {
import flash.display.Sprite;
public class Sample0611 extends Sprite
{
public function Sample0611()
{
var str:String = "God is a girl";
//
var arr2:Array = str.split("");
arr2.reverse();
trace(arr2.join(""));
//
var arr:Array = str.split(" ");
arr.reverse();
trace(arr.join(" "));
}
}
}
5.文字のUnicodeコードまたはASCIIコードを得るString.fromCharCode(...charCodes)--現在のASCIIコードに対応する文字を取得
str.charCodeAt(index)--現在のインデックスの下の文字に対応するASCIIコード値を取得
package {
import flash.display.Sprite;
public class Sample0611 extends Sprite
{
public function Sample0611()
{
trace(String.fromCharCode(65));//A
trace(String.fromCharCode(97,98,99));//ABC
var str:String = "abc";
trace(str.charCodeAt(0));//97
}
}
}
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:00 GMT-08000 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」)
package {
import flash.display.Sprite;
public class Sample0616 extends Sprite
{
public function Sample0616()
{
var date:Date = new Date();
trace(date);//Tue Jun 16 14:44:32 GMT+0800 2009
date = new Date(4000);
trace(date);//Thu Jan 1 08:00:04 GMT+0800 1970
date = new Date("02/03/1983");
trace(date);//Thu Feb 3 00:00:00 GMT+0800 1983
}
}
}
7.Dateオブジェクトの情報を取得するDateオブジェクトの詳細はfullYear、month、date、day、hours、minutesなどの属性で入手できます
ASCBの下のDateFormatクラスは、DAYS、DAYSなどの週と月の名前配列をカプセル化しています.ABBREVIATED、MONTHS、およびMONTHS_ABBREVIATED
PS:と.Netは違って、dayは曜日を返して、dateは日付の部分を返します.日曜日対応dayは0
package {
import ascb.util.DateFormat;
import flash.display.Sprite;
public class Sample0616 extends Sprite
{
public function Sample0616()
{
var date:Date = new Date();
trace(date); //Tue Jun 16 15:25:18 GMT+0800 2009
trace(date.fullYear); //2009
trace(date.month + 1); //6
trace(date.date); //16
trace(date.day); //2
trace(date.hours); //15
trace(date.minutes); //25
trace(date.seconds); //18
trace(date.milliseconds); //
trace(DateFormat.DAYS[date.day]); //Tuesday
trace(DateFormat.DAYS_ABBREVIATED[date.day]); //Tues
trace(DateFormat.MONTHS[date.month]); //June
trace(DateFormat.MONTHS_ABBREVIATED[date.month]); //Jun
}
}
}
8.日付と時刻の書式設定ascbを利用する.util.DateFormatクラスのformat(date)メソッドでフォーマット
package {
import ascb.util.DateFormat;
import flash.display.Sprite;
public class Sample0616 extends Sprite
{
public function Sample0616()
{
var date:Date = new Date();
trace(date);//Tue Jun 16 16:35:29 GMT+0800 2009
trace(new DateFormat("Y").format(date));//2009
trace(new DateFormat("y").format(date));//09
trace(new DateFormat("m").format(date));//06
trace(new DateFormat("d").format(date));//16
trace(new DateFormat("H:i:s").format(date));//16:35:29
trace(new DateFormat("h:i:s").format(date));//04:35:29
trace(new DateFormat("h:i:s a").format(date));//04:35:29 pm
trace(new DateFormat("Y-m-d 'at' h:i:s a").format(date));//2009-06-16 at 04:48:45 pm
}
}
}
9.秒またはミリ秒をmmにフォーマットする:ssフォーマットascbを使用する.util.DateFormat.formatSeconds()またはascb.util.DateFormat.formatMilliseconds()メソッド
package {
import ascb.util.DateFormat;
import flash.display.Sprite;
public class Sample0616 extends Sprite
{
public function Sample0616()
{
trace(DateFormat.formatSeconds(301)); //05:01(5 1 )
trace(DateFormat.formatMilliseconds(68000)); //01:08(1 8 )
}
}
}
10.Soundオブジェクトの作成サウンドファイルをSoundオブジェクトにロードするには、まずmp 3ファイルのパスを含む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()メソッドを自分で呼び出す必要があります
*サウンドオブジェクトに対してload()を呼び出すと、そのサウンドオブジェクトに別のサウンドファイルをロードすることはできません.別のサウンドファイルをロードするには、新しいSoundオブジェクトを作成します.