基礎から学ぶActionScript 3.0

任意の桁数の数値から末尾2桁を文字列に変換して返す

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

ぜひご覧ください。

無料で視聴する すべての加入プランを見る
または
前のレッスンで定めた関数を拡張します。ふた桁以上の数値は、下ふた桁を取出して返すように修正しましょう。
講師:
08:14

字幕

数値の桁揃えをする関数を考えてみます。 具体的には、年月日の表記を、 すべて2桁で表そうということです。 年は4桁ですね。 月と日は、1桁のこともあれば、 2桁のこともあります。 それらを文字列に変換して、 下2桁を取るという関数です。 年にも月にも日にも、つまり、 4桁でも2桁でも1桁でも使えるような、 下2桁取り出しの関数を定めましょう。 Date オブジェクトから、 日付のプロパティを取り出して、 2桁ずつ揃えて テキストフィールドに設定する処理は、 メインタイムラインの フレームアクションとして書かれています。 scripts のレイヤーのキーフレームから 「アクション」パネルを開きます。 テキストフィールドに日付を設定する処理は、 Timer オブジェクトの EventListener として、 リスナー関数が登録されています。 その中で、 日付の取り出しと、2桁揃えと、 文字列に設定して テキストフィールドに入れるという処理が、 すべて行われています。 その中で、日付と月、 Date オブジェクトの month プロパティと date プロパティの値を 2桁に揃えるというのは、 実は、すでに関数にしてあります。 xSetDigits です。 この処理を、ちょっと確認してみましょう。 関数 xSetDigits は、 数値を引数として受け取ります。 整数です。 そして今のところ、 月か日ですので、 1桁か2桁という想定になっています。 そして、2桁の文字列にして、 String で返すということで、 return の後に String 型の 変数を戻しています。 2桁に取り出す処理は、1桁の場合も含めて、 100 を足し算しています。 そうすると、 100 の位が 1 になりますけれども、 どうせ、下2桁しか使いませんので、 それは気にしません。 その上で、 substring メソッドで、1桁。 下2桁の番号ですが、 1 ですね。 1 から 3 までというのは、 下2桁という指定になりますので、 下2桁を取り出しています。 そして、その下2桁の値を 文字列として返しているわけです。 substring メソッドの 引数の指定の仕方を確認しておきましょう。 2つの引数をとります。 返しのインデックスと 終了のインデックスです。 このインデックスは 0 からスタートします。 そして、文字の間に仕切りを考えて、 そこに連番を振ります。 例えば、4桁、 年の場合ですね。 その場合、下2桁が欲しかったら、 2 から 4 までとなります。 3桁の場合は、 この 2 がないと思ってください。 そうすると、下2桁は 1 から 3 までということですね。 ちなみに、最後までという場合には、 終了位置のインデックスは省くことができます。 ですから、今回の場合、 2番目の引数は省いてしまって構いません。 関数 xSetDigits の substring の引数2番目、 削除して構わないので、 省いてしまいましょう。 今、この関数は月と日に使っています。 2桁か1桁だからですね。 4桁の年には使えませんが、 4桁の年に、 なんとか使ってみたいと思います。 年については、 このようなステートメントが書かれています。 関数 SetDigits が 4桁の年に使えないことは、 分かっていますが、使ってみましょう。 使った上で、 不具合を直していきたいと思います。 まず、この2行はコメントアウト、 無効にします。 うまくいった暁には、 SetDigits を呼び出しさえすれば、 2桁で表示されるはずです。 この部分は有効にして、 xSetDigits をコピーします。 そして、4桁の fullYear を渡します。 そして ) このまま実行すると、 どのように表示されるか確認しましょう。 ムービープレビューで確かめます。 「制御」>「ムービープレビュー」です。 少し時間をおいて表示されます。 日と月は2桁なんですが、 年は3桁で出ちゃってますね。 下3桁という風になっています。 これをなんとか、 下2桁にしたいと思います。 では、 SWF は一回、閉じます。 関数 xSetDigits の内容を見ながら、 もう一度考えてみましょう。 問題は substring メソッドに 渡す引数の整数です。 3桁だったら 1 で良いんですね、 1番目から最後まで。 4桁の場合には、 2 からということになります。 これを、どう調整したらいいでしょうか。 3桁の場合は 1 から。 4桁の場合は 2 から。 5桁の場合は 3 からですね。 つまり、桁数から 2 を引けばいいということです。 実は String(文字列)の桁数は 調べることが可能です。 文字列の数は、 length プロパティで調べられます。 つまり、文字列 .length で、例えば、 年であれば 4 という値が返ります。 下2桁が欲しいわけですから、 その 4 から 2 を引けばいいわけです。 あるいは 100 を足して、 3桁の場合には 3 から 2 を引けばいい。 つまり、この length プロパティから 2 を引いた値を、 開始位置として渡せばいいということです。 では、関数 xSetDigits に 修正を加えましょう。 substring メソッドに渡す 引数ですね。 1 と決め打ちはしない。 この文字列も コピーします。 length プロパティを調べるわけですね。 そして、その桁数から 2 を引きます。 この上の処理は、修正を加えていません。 年を xSetDigits の引数にも 渡したままですね。 先ほどは、3桁表示されてしまいましたが、 今度は大丈夫ではないでしょうか。 ムービープレビューで確かめてみましょう。 「制御」>「ムービープレビュー」を見ます。 少し遅れて、日付が表示されます。 すべて2桁になりましたね。 これで、関数 xSetDigits が 何桁の数値であっても、 下2桁を返すように改善が加えられました。 今回使った 文字列を扱うメソッドと、 プロパティについておさらいしましょう。 メソッドは substring を使いました。 substring の指定は、 開始と終了です。 文字の間に仕切りを思い浮かべて、 0 からの連番を振り、 どの範囲が欲しいか、という指定になります。 そして、最後まで欲しいという場合には、 終了位置は省くことができました。 次に、文字列の長さ、 文字数を知りたい場合には、 文字列 .length と、 length プロパティで調べられました。 そして、これらのプロパティ、 メソッドを使って、 数字の桁数を揃えた文字列にする という方法をご説明致しました。

基礎から学ぶActionScript 3.0

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

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

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

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

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