前回の第7回は,
Stringクラスを使った文字列の一部取出し
第7回のアナログ時計に表示した日付は,
文字列の操作には,
- ※1)
- new演算子を使って,
以下のようにStringインスタンスを作成することも可能だ。しかし, このような記述を用いる必要性は, とくにない。 var year_
str:String = new String("2007");
たとえば,
var year_str:String = "2007";
trace(year_str.length); // 出力: 4
- ※2)
- Stringクラスのlengthプロパティを,
ヘルプなどのドキュメントではString. lenghtのように 「クラス名.プロパティ名」 のかたちで示す。また, メソッドも同様に 「クラス名.メソッド名」 のように記載する。
文字列から文字の一部を取出すには,
var year_str:String = "2007";
trace(year_str.substring(2, 4)); // 出力: 07
文字列のインデックス番号は0から始めるので,
文字そのものを数えるより,
すると,
さらにヘルプを確認すると,
スクリプト1 年の下2桁を取出して日付表示する
function xSetTime(eventObject:Event):void {
// [1]Dateインスタンスから時刻と日付のプロパティ値を取得する
var my_date:Date = new Date();
var nSeconds:Number = my_date.seconds;
var nMinutes:Number = my_date.minutes;
var nHours:Number = my_date.hours;
var nYear:Number = my_date.fullYear;
var nMonth:Number = my_date.month+1;
var nDate:Number = my_date.date;
// [2]時計の針のアニメーション
second_mc.rotation = nSeconds*6;
minute_mc.rotation = nMinutes*6;
hour_mc.rotation = nHours*30+nMinutes/2;
// [3]日付のフォーマットを設定
var year_str:String = String(nYear).substring(2); // 第2引数を省略
// [4]日付をTextFieldインスタンスに設定
my_txt.text = year_str+"/"+String(nMonth)+"/"+String(nDate);
}
addEventListener(Event.ENTER_FRAME, xSetTime);
- ※3)
- 前回作成したサンプルファイルは,
第7回 「Dateクラスの日付と文字列の操作」 の2ページ目からダウンロードできる。
[ムービープレビュー]を確かめると,