基礎から学ぶActionScript 3.0

数値を2桁の文字列に変換して返す関数

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

ぜひご覧ください。

無料で視聴する すべての加入プランを見る
または
月や日に用いて、2桁未満の数字には頭に0を加え、ふた桁の文字列で返す関数を定めます。
講師:
11:25

字幕

関数を定義する時、 関数が引数を受け取るように、 定めることができます。 また、処理した結果について、 結果を返す、値を返すという、 定めも可能です。 引数を受け取り、 「戻り値」と言いますけれども、 戻り値を返す関数の定義の仕方と、 使い方をご紹介します。 この Flash ムービーには、 アナログ時計のアニメーションが 作ってあります。 そして、ステージには、 テキストフィールドが置いてあります。 このテキストフィールドには、 日付が表示されます。 この日付を表示するスクリプトは、 メインタイムラインの フレームアクションに書いてあります。 では、右クリックで、 「アクション」パネルを開いてみましょう。 スクリプトのポイントだけ、 簡単に確認します。 まず、この関数は、 リスナー関数として、 Timer オブジェクトに 登録されています、 Timer オブジェクトに addEventListener で登録されていて、 一定の間隔で、 呼び出されるようになっています。 関数を使いたいのは、この中の処理です。 この中の処理は、 年月日の Date オブジェクトから、 3つの値をとって、 それを2桁ずつ取り出し、 / (スラッシュ)でつないで 表示しています。 その時に、2桁を取り出すという部分が ポイントになります。 年で見てましょう。 Date オブジェクトから fullYear で、 プロパティ、 年の4桁の数字を取り出します。 その4桁の数字を String 関数で文字列に変換した後、 substring メソッドで、 下2桁を取り出しています。 同様に Date オブジェクトの月ですが、 月には 101 月は 0 からスタートするので、 1 を加算しなければいけないのですが、 そこでさらに 100 を足して、 3桁にしています。 3桁にしたうえで、 substring で、 下2桁の取り出しを行なっています。 日付のほうも同様です。 Date オブジェクトの date プロパティで、 100 を加算して3桁にし、 substring メソッドで、 下2桁を取り出しています。 この3つの年月日について、 String に変換し、 下2桁を取り出すのは、すべて共通ですね。 「この部分を関数にできないか?」 ということです。 具体的には、例えば、 この日付の date についてです。 「String に変換して 2桁取り出すというのを、 関数でやってくれないだろうか?」 ということです。 例えば、 「こんなふうになったらいいのにな」と、 関数を定める時には、 「こうなってくれたらいい」というのを 最初に書くと、設計がしやすいです。 つまり、ここに my date.date Date オブジェクトの Date プロパティですね。 ここに対して、関数、 仮に xSetDigits とします。 「桁を揃える」という意味なんですが、 こうしたら、 Date オブジェクトの Date プロパティは数値です。 日付の数値です。 1桁のこともあれば、 2桁のこともあります。 それを文字列に変えて、 しかも、2桁の文字列にして、 戻してくれるということがあれば、 この2行がこの1行で済むわけです。 このような関数を定めるためには、 関数に引数を渡し、 そして、戻り値を得るという、 定義をする必要があります。 そのような関数の定義の仕方について、 ご説明しましょう。 引数と戻り値のある関数を 定めたいと思います。 と言っても、 そんなに特別なことはありません。 若干の追加が、通常の関数に対して 行われるだけです。 まずは、引数ですが、 Event オブジェクトを受け取る時と一緒です。 引数を受け取る変数名を付けます。 そしてその後 : で、 どんな値を受け取るのかということですね。 例えば、今回は数値を受け取ります。 日付のオブジェクトから、 年月日の数値ですね。 次に、返す場合。 返す場合は英語の「返す」という意味ですが、 return その後に、返したい値、 変数などを置いてあげると、 この値が関数の返される値、 「戻り値」と言います。 戻り値になります。 それから function 関数名 () の後の、 : の後に、 通常は void とすることが 多かったんですが、 実は、値を返す場合には、 その返す値のデータ型をここに書きます。 今回の場合、文字列にして返しますので、 :String になります。 そして、これまで約束事のように書いていた :void というのは、 返す値がない場合の指定になります。 では、引数を受け取って、 戻り値を返す関数を定めましょう。 関数の呼び出しは、まだ定義もしないうちに、 既にしてしまっています。 呼び出しは、このままで構いません。 この xSetDigits という関数を、 この後に定めていきます。 function () {} そして、関数名はもう決めてしまいました。 引数は数値ですので、 n と、 ちょっと無精しちゃいます。 そして : で 、データ型なんですが、 Number としてもかまいませんが、 Number の場合、 小数値を含む数値になります。 小数値は含まない、 整数のみだという場合には、 int のほうが、 より厳密な定めになります。 厳密な方が処理が最適化されたり、 早くなったり、ということが期待できます。 戻り値は String に 代入するわけですから、 String でなければいけません。 処理内容はというと、 ここにコメントアウトした2行と同じことを、 この関数の中に定めればいいだけです。 ということなんで、 var の変数名は、 n_string にしましょうか。 n_str:String と定めます。 そして 、ここと同じですね。 コピーします。 ただし、受け取った引数は、 n という名前を付けていますので、 n に 100 を足して、 String に変換する。 そうしたら、ここと同じ処理を、 今度は行うわけですね。 ただし、変数名は n_str ですので、 = n_str substring(1.3) は一緒ですから、 コピーしてしまいましょう。 最後に値を返します。 return の返すのは文字列ですね。 n_str ということになります。 ムービープレビューで確かめてみましょう。 元々あった処理と、 内容が変わっているわけではありませんので、 結果は変わりませんが、 特に問題なく動けば良い ということになります。 3秒ほどしてタイマーが働き、 日付が出てきます。 特にエラー出ませんね。 日付はちゃんと、2桁で表示されています。 良さそうです。 では、 SWF のウィンドウは閉じます。 新たに定めた関数 xSetDigits は、 月のほうにも使えますので、 月からも使うようにしましょう。 月は、この month ですね。 この部分です。 ここがいらなくなり、 ここもいらなくなるはずです。 いらなくなるというか、 関数の呼び出しを代わりに置き換えます。 xSetDigits ですね。 そして、今度は月です。 ただし、月は 1月が 0 となる連番ですので、 必ず、 1 を足し込むことを 忘れないようにしましょう。 これで、この行とこの行の2つの行が、 1行で済んでしまうということになります。 もう一度、 ムービープレビューで確かめましょう。 「制御」>「ムービープレビュー」です。 今度は、月の表示が正しいかどうか、 少し時間をおいて表示されます。 ちゃんと2桁になってますね。 良さそうです。 では、 SWF を閉じます。 コメントアウトした部分は、 いらないということですから、 削除しちゃいましょう。 だいぶすっきりしましたね。 けれど、本当に月や日が1桁の時に、 ちゃんと2桁で表示してくれるかどうか、 疑ってかかったほうがいいですね。 ですので、チェックをしてみましょう。 チェックの仕方はいろいろ 考えなければいけないんですが、 今回の場合は、 Date オブジェクトを作る時、 () ですと、 今、現在になるわけですが、 ここに数字を指定してしまえばいいですね。 2013 年、 例えば 0 というのは1月です。 そして、後の引数を省略すれば、 1 月 1 日 0 時 0 分 0 秒と なりますので、 この場合は、月も日も、 1桁になるはずですね。 ムービープレビューを確かめてみましょう。 「制御」>「ムービープレビュー」です。 日付が表示されます。 ちゃんと、 13/01/01 と表示されましたね。 正しく動いているようです。 では、 SWF は閉じます。 引数を受け取って、 戻り値を返す関数について復習しましょう。 関数に対する引数と戻り値の定め方です。 まず、 function キーワードで、関数名。 ここは普通どおりですね。 () の中に、引数を定めます。 変数を入れます。 そして、受け取る引数のデータ型を、 : の後に指定します。 そして ) その : の後というのは、 戻り値がある場合、 戻り値は return で戻します。 return は必ず、 最終行に書いてください。 return があると、 function はそこで終了します。 ということで return の後に ステートメントがあっても、 それは無視されてしまいますので、 return は必ず最終行にしてください。 そして、その後に戻り値を書くと、 この値が関数の値として返されます。 以上が、関数に対する 引数と戻り値の定め方、 及び、その戻り値があって、 引数を受け取る関数の 使い方をご説明しました。

基礎から学ぶActionScript 3.0

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

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

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

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

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