基礎から学ぶActionScript 3.0

日付のプロパティ値をフォーマットされた文字列で表す

全333コースを10日間無料で

ぜひご覧ください。

無料で視聴する すべての加入プランを見る
または
Dateインスタンスのプロパティから得た日付の値を、文字列として組合わせて、時計に置いたテキストフィールドに表示します。
講師:
10:58

字幕

Date クラスを使うと、 時刻の情報の他、 日付の情報も プロパティで調べることができます。 プロパティから取った今日現在の日付を、 テキストフィールドに 設定してみたいと思います。 その場合、テキストフィールドには 文字列しか設定できませんので、 その変換も必要になります。 変換の方法についても、ご紹介しましょう。 メインタイムラインに、日付を設定するための テキストフィールドを置きました。 テキストフィールドを ActionScript でコントロールするには、 ムービークリップインスタンスと同じように、 インスタンス名を付けなければなりません。 ここでは my_txt という 名前を付けました。 _txt は、よく テキストフィールドに使われます。 それから、テキストの種類として、 「クラシックテキスト」と 「TLF テキスト」があります。 TLF テキストは 様々なフォーマットができて、 非常に多彩な機能を持っています。 けれども、単純に、今回のような 日付を設定するというくらいでしたら、 クラシックテキストのほうが、 扱いは、少し簡単です。 そして、「クラシックテキスト」を 選択した場合には、 スクリプトで文字を設定する時、 「静止テキスト」は使えません。 静止テキストは固定した文字になります。 ActionScript で、その中身を変えたい、 文字を変えたいという場合には、 「テキスト入力」か、 「ダイナミックテキスト」を選択します。 そして、テキスト入力は、 ユーザーの入力を許す場合に使いますので、 今回は、 「ダイナミックテキスト」にしておきます。 テキストフィールドは メインタイムラインに置きましたので、 スクリプトも、メインタイムラインの フレームアクションとして書きます。 スクリプト用レイヤーの キーフレームで、右クリックして、 「アクション」パネルを開きます。 まずは Date インスタンスを作ります。 変数は my_date としましょう。 そして、データ型は Date ですので、 そのまま Date です。 クラスと同じ名前を付けます。 そして new Date コードヒントで、 Date がトップに出ていますので、 Enter キーで入力です。 そして、今現在の 今日の時刻、日付という場合には、 () の中には何もいれません。 では試しに、テキストフィールドに 値を設定してみましょう。 my_txt という名前を テキストフィールドにつけました。 その、text プロパティに設定した値が、 文字として表示されます。 とりあえず、今の年 です。 my_date fullYear が年になりますので、 fullYear として、 これで、今現在の年が、 テキストフィールドに 表示されるつもりなんですけど、 ちょっとうまくいきません。 一旦、「アクション」パネルを閉じて、 ムービープレビューで確かめてみましょう。 「制御」>「ムービープレビュー」です。 「コンパイルエラー」のパネルに エラーが表示されて、 スクリプトが動きません。 一旦、 SWF の ウィンドウは閉じましょう。 エラーのメッセージは、 「型 Number の値が、 関連しない型 String に 暗黙で変換されています。」 ちょっと分かりにくいかもしれません. ただ、これが言いたいことは、 テキストフィールドに設定できるのは、 文字列、文字なんですね。 データ型でいうと、 String というデータ型にあたります。 ところが、 Date オブジェクトから取り出した fullYear というプロパティの値、 年は数値です。 データ型でいえば Number です。 「Number の値を String の プロパティに設定しようしても、 だめですよ」ということです。 「暗黙で型変換~」というのは、 アクションスクリプトは、 もし、変換できる場合は、 がんばって変換してくれるんですが、 「今回の Number を String に 設定するというのは、 がんばれません」と言っています。 スクリプトを修正しますので、 「タイムライン」に戻って、 もう一度、 scripts のレイヤーの キーフレームを右クリックで、 「アクション」パネルを開きます。 「暗黙に変換できない」というのは、 言ってみれば、 「変換してください」と言っているわけです。 では、この数値(Number)を どうやって文字列(String)に 変換するかというと、 関数を使います。 文字通り String です。 () の中に入れた数値が 文字列に変換されます。 こうすると、はれて、テキストフィールドの text プロパティに、 年が文字列に変換されて、設定されます。 「アクション」パネルを一回、閉じます。 結果をムービープレビューで 確かめてみましょう。 「制御」>「ムービープレビュー」です。 今度は、年がちゃんと、 テキストフィールドに表示され。 エラーは出てきていません。 SWF のパネルは閉じましょう。 テキストフィールドに設定した年に、 月日とつなげていくわけですが、 間は /(スラッシュ)で結ぼうと思います。 ですから、まず / を どうやってつなげるか、 ということをお見せしましょう。 また、 scripts のレイヤーの キーフレームを右クリックで、 「アクション」パネルを開きます。 文字列をつなげる場合は、 + の演算子が使えます。 演算記号のことを 「演算子」と言いますけれども、 数値の場合は、 もちろん足し算ですから、 文字列に対して + の演算子を使うと、 2つの文字をつなげて使う、 ということになります。 そして、文字列は必ず、 " " で括って下さい。 そして、この中に / を入れます。 「アクション」パネルをいったん閉じて、 ムービープレビューで確かめてみましょう。 「制御」>「ムービープレビュー」です。 確かに、年の後に / が付きました。 あとは、この要領で 「月 / 日」と、 入れていけばいいわけですね。 では、一旦 SWF を閉じます。 また「アクション」パネルを開きます。 scripts のレイヤーから 右クリックで、「アクション」。 この後に、ズラズラと、 つなげていってもいいのですが、 右辺が相当長くなりますね。 見難くなりますので、 変数を別に定めて、 その変数に文字を 日付と日付の文字を入れたうえで、 最後にテキストフィールドの、 text プロパティに 設定するようにしましょう。 そのほうが見やすいですし、 扱いやすいです。 ということで、変数は today そして _str という記号を、 文字列を入れる変数には、 付けることが多いです。 : で、 データ型は String です。 これが文字列を意味します。 そして、ここに、まずは年ですね。 String に変換した Date オブジェクトの、 fullYear プロパティ、 これを、まず、移動で持っていきます。 この右辺、まだあとで設定しますので、 そして同じように、 この変数に加算するというかたちを使います。 もちろん、全部 + で つなげてもいいんですが、 見難いですし、 修正もしにくいです。 ドンドンドンドン、 必要なものを加算する。 ただし、文字列の加算はつなげる、 ということですね。 ですから、これが使えます。 このままコピーをして、 キーボードから Crtl もしくは、 Mac の場合には Option キーを押しながら、 ドラッグで、コピーになります。 そして .month ですね。 month ただし Date オブジェクトの月は、 1月が 0(ゼロ)でスタートします。 0 からの連番になりますので、 今月を表したいときには、 1 を加算しなければいけません。 そして、加算は、これは数字、 算数の足し算ですから、 String の外ではありません。 String の中で足し算しないと、 文字列の連結になってしまいますから。 注意しましょう。 そして、最後、同様に ここまでは使えますね。 「コピー」して、「ペースト」します。 date これは、ちゃんと今日の日付です。 この後は / を付ける必要はありません。 これで、全部 today_str という変数に、 必要な年、月、日、 あいだ / つなぎの文字が入りましたので、 テキストフィールド my_txt の text プロパティに設定します。 ; で区切りですね。 「アクション」パネルは一旦、閉じて、 ムービープレビューで確かめてみましょう。 「制御」>「ムービープレビュー」です。 今日の年月日が、 / 区切りで、 きちんとテキストフィールドに入りました。 では、 SWF のウィンドウは閉じましょう。 「アクション」パネルを開いて、 おさらいをします。 まず、 Date オブジェクトから 年月日をとる時は、 年が fullYear プロパティ、 月が month プロパティですが、 連番 0 から 1 月がスタートしますので、 今月の数字が欲しい場合には、 1 を加算します。 それから日付、 日はですね date プロパティになります。 テキストフィールドに設定するときは、 テキストフィールドに名前を付けて、 インスタンス名を付けて .text text プロパティに設定します。 ただし text プロパティに 設定する値は文字列です。 もし、数値を設定したい場合には、 String 関数で 変換をしないといけません。 それから、文字列同士を連結する時は、 + の演算子を使います。 ですから、 + して、 加算して、代入の場合には、 + = が使えるということですね。 今回は年月日の間に / を入れて、 / でつなげて、 テキストフィールドに設定しました。 これが Date クラス、 Date オブジェクトの日付の扱いと、 それをテキストフィールドの text プロパティに、 設定する時の手順でした。

基礎から学ぶActionScript 3.0

このコースではFlashのActionScript 3.0を初めて学ぶ方を対象に、ActionScriptの基礎から実際にプログラミングをするところまで学習していきます。簡単なスクリプトによるオブジェクトの操作の仕方から始まり、変数や関数といったプログラミングの基礎、そしてインタラクティブなコンテンツの作成まで詳しく解説いたします。

6時間30分 (49 ビデオ)
現在、カスタマーレビューはありません…
 
ソフトウェア・トピック
価格: 3,990
発売日:2014年01月16日

このコースは、「オンデマンド」でご利用可能であり、ダウンロードすることもオンラインで見ることもできます。

ダウンロードすると、オフラインでコースを使用し、豊富なインターフェースをフルに活用できます。複数のデバイスを使用したり、 一度に全コースをダウンロードしたくない場合は、アカントにログインして、ストリーミング・ビデオとしてコースのレッスンを視聴してください。

ビデオトレーニングをお楽しみいただけますように! お問い合わせは、cs-jp@lynda.com宛までご連絡ください。