【コラム】
「FLash CS4」体験版ダウンロードはこちらから
「Adobe CS4」購入はこちらから
前回、DateクラスからDateオブジェクトを生成し変数にする(代入という)方法を紹介したが、今回はそのDateオブジェクトから実際に日時を取り出してみよう。なおソースファイルはこちらからダウンロードできる。
Dateオブジェクトには、日時のデータが備わっている。たとえば、nowというDateオブジェクトから「年」を知りたいときは次のようにする。(※ソースファイル dw_test_02.fla)
var now:Date = new Date();
trace(now.fullYear);
nowとfullYearの間にある「.(ドット)」は、「■の中の●●」という意味の区切り文字で、この場合、「変数 now の中にあるfullYear」となる。ムービープレビューすると、次のように出力パネルに表示されるはずだ。このとき、nowは、fullYearや後で紹介するその他のプロパティと呼ばれる変数をグループ化して持っている。
2010が年であることを示すために、「2010年」と表示するなら、tarce()の行を次のように変更する。(※ソースファイル dw_test_03.fla)
trace( now.fullYear + "年" );
trace()の中を見ると、"(ダブルクォーテーション)で囲まれた部分をリテラル値、あるいはリテラル文字という。これは、そのまま表示する文字であるということだ。この場合、"年"がそれにあたる。
片方が文字の場合、「+」を使用するとその前後を繋げることが可能だ。ここでは、now.fullYear で置き換えられる 2010 と"年"を「+」でつなげて、"2010年" を出力したというわけだ。(※2010の型はNumber、"年"の型はStringだが、trace()は自動的にNumberをStringに変換するため、+でつなげることができる。)
Dateオブジェクトから年以外の、月や日などを取得する方法も同様の手順でOKだ。オンラインヘルプにある内容を表にしてみた。
| プロパティ名 | 意味 |
|---|---|
| fullYear | 4桁の年を表す数値 |
| month | 月を表す0~11の数値(0…1月、1……2月、11……12月) |
| date | 日付けを表す1~31の数値 |
| day | 曜日を表す0~6の数値 |
| hours | 時間を表す0~23の数値 |
| minutes | 分を表す0~59の数値 |
| seconds | 秒を表す0~59の数値 |
※プロパティとはオブジェクト内にある変数のことで、上記プロパティは、すべてNumberという型になっている。
上記を参考に図のように出力パネルに出すASは、例のようになる。(※ソースファイル dw_test_04.fla)
var now:Date = new Date()
trace(now.fullYear + "." + (now.month+1) + "." + now.date)
解説をすると、「now.fullYear」は、4桁の年を示す。同じく、now.monthは、月の数字を返すが、0から始まるので1加算するように「+1」を計算式として追加した。文字の場合と異なり「+」記号の前後が数値ならば普通の四則演算を実行する。
最後の、「now.date」は日付を返す。また、これらの間を「 "." 」でつなげるために、「 + "." + 」とそれぞれの値の間に入れている。
ここで、少しプログラムを見やすく整理しよう。ここまで、次のようなプログラムを書いた。(※ソースファイル dw_test_04.fla)
var now:Date = new Date()
trace(now.fullYear + "." + (now.month+1) + "." + now.date)
実は、これをもっと分かりやすく書くことができる。それが、次のものだ。(※ソースファイルdw_test_05.fla)
var now:Date = new Date()
var year:Number = now.fullYear
var month:Number = now.month+1
var date:Number = now.date
trace( year + "." + month + "." + date )
これを前のものと比べると、違いがいくつかある。
注目して欲しいのは、最後の出力するところがシンプルになったことだ。そのために、行数は増えているが、1行を短く、シンプルな機能にしているので理解しやすいはずだ。むしろ、trace()が整理された分、改造がしやすくなっているはずだ。
たとえば「2010年1月20日」と出したい場合、trace()の行を次のようにすればよい。
trace(year+ "年" + month + "月" + date + "日")
※ソースファイル dw_test_05.flaのコメント(最初の//)を外してムービープレビューしてみて欲しい。
今回、Dateオブジェクトであるnowから日付情報を取り出すことができたので、次はそれをhtmlテキストにして表示してみよう。次回からは、このtrace()をhtmlテキスト表示に変更してみよう。
伊藤のりゆき(NORI)
有限会社トゴル・カンパニー代表。ロクナナワークショップ講師。Flashアクセシビリティを得意とし、ライターとしてFlash関連書籍や雑誌記事の執筆を行うほか、AdobeTVでも解説。共著の「ActionScript3.0辞典」が発売中。また、先頃、写真家として初の写真集「「Snap or Nothing写真集」( iTunes AppStoreにて)が発売された。内容のリクエストはTwitter(nori_togoru)まで。
| 「Adobe Flash CS4」の3D効果を使いこなす(前編) [2009/4/14] |
| 「Adobe Flash CS4」の3D効果を使いこなす(後編) [2009/4/16] |
| 「Adobe Flash CS4」でオブジェクトベースアニメーションを実際に作る!(その1) [2009/4/2] |
| 「Adobe Flash CS4」でオブジェクトベースアニメーションを実際に作る!(その2) [2009/4/3] |
| Flashアニメクリエイター・青池良輔が語る「Adobe Flash CS4」の可能性とは [2009/3/25] |
| インターネット、V2版を再現した「VOCALOID3 Megpoid Native」発表 [18:43 2/10] |
| Behringer、「XENYX iX」シリーズにiPad用Dock搭載の3モデルを追加 [16:51 2/10] |
| Behringer、iPadの入出力を拡張できるドッキングステーション発表 [16:05 2/10] |
| iPadでワイヤレス操作可能な16chデジタルミキサー「MACKIE DL1608」 [15:43 2/10] |
| Avid、本格的なムービー制作を実現するiPadアプリ「Avid Studio」発売 [15:17 2/10] |
|
【レポート】「jdk BAND」メンバーや「みっしぃ」も登場! 『英雄伝説 零の軌跡 Evolution』制作発表会 [02:54 2/11] ホビー |
|
【レポート】人気の無料/有料アプリを毎週紹介 - 1月31日~2月8日のAndroidアプリランキング [01:00 2/11] 携帯 |
|
渡部篤郎主演でドラマ化!地元新聞社が伝え続けた東日本大震災の物語 [00:08 2/11] キャリア |
|
沖縄発ヒーロー革命!「琉神マブヤー」が海を越えハワイを目指す! [00:08 2/11] キャリア |
|
中国四川省、パンダの保護と生態研究の最新情報とは? [00:08 2/11] キャリア |