基礎から学ぶActionScript 3.0

年を2桁にする

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

ぜひご覧ください。

無料で視聴する すべての加入プランを見る
または
文字列から指定した位置の文字を抜出すには、String.substring()メソッドが使えます。ただし、位置を定めるインデックスの捉え方に注意が必要です。
講師:
08:04

字幕

数字を文字、 文字列として扱う場合に、 桁数をそろえたいということがあります。 例えば、日付でいえば、 2012 年というのを、 下2桁をとって 12 と表示したいとか、 あるいは、1日の場合に、 0 を付けて、 常に2桁、 01 と表示したい、 といった場合です。 そのような場合には、 文字列の操作が必要になります。 文字列の操作方法についてご説明します。 今、開いている Flash ムービーは 日付を表示するときに、 特に桁数の操作は行っていません。 「アクション」パネルを開いて、 確認してみましょう。 scripts のレイヤーの キーフレームから、 右クリックで「アクション」です。 スクリプトを順に確認していきましょう。 まず、今現在の Date オブジェクトを作っています。 new 演算子ですね。 そして、そのオブジェクトを 変数に入れています。 次に、文字列の変数を宣言し、 そこに、まずは 日付から年をとって、 文字列に変換しないといけませんので、 String 関数で変換し、 + 演算子で / を文字列として付け加えて、 変数に入れています。 次の2行は、 その変数に値を加算です。 文字列の加算ですから、 つなぎ合わせるということになります。 月ですね、 日付から月をとります。 ただし、月は 0 から始まる連番、 1 月が 0 ですので、 1 を加算しないと、月の数字になりません。 それを文字列に変換したうえで、 やはり / を付けます。 そして、文字列操作の最後は日付、 date をとって String にし、 変数に加えます。 そうして出来上がった変数を、 テキストフィールドのプロパティ、 text プロパティに代入することで、 テキストフィールドに日付を / 区切りで表示しています。 この年は4桁ですが、 2桁にしてみたいと思います。 文字列から一部の文字を取り出す、 というメソッドをご紹介します。 文字列に対して substring というメソッドを呼び出し、 何文字目から何文字目までという、 範囲を指定します。 ただし、その文字のカウントは、 最初を 0 とカウントすることになります。 それでは substring メソッドを使って、 年の4桁の下2桁を 取り出したいと思います。 まずは、そうですね、 年の文字列を変数に入れておきましょう。 変数を新たに定めて、 year_str:String です。 そして、 この部分を 変数に入れます。 移動です。 変数に入れたら、代わりに変数を戻すと、 これで動作は特に変わりませんね。 念のため、ムービープレビューを 確かめておきましょう。 「制御」>「ムービープレビュー」です。 特にエラーもなく、 ただし、年はまだ4桁のままです。 SWF を閉じます。 substring メソッドで、年の4桁から 下2桁を取り出しましょう。 変数に、文字列に変換した年の 4桁を入れました。 では、この変数に入った文字列から、 substring substr という 紛らわしいメソッドがありますので、 その下にある、 substring を選びます。 今、下向きの矢印キーを押しました。 そして 何文字目から何文字目だろう ということで、 コメントにちょっとメモして、 確かめてみましょう。 2012 ですね。 頭は 0 番から始まりましたので、 0 、 1 、 2 からですね。 2 から次は 3 だと、 普通、思いますね。 「普通思います」という言い方をするのは、 実はそうじゃないんですが、 取り出したものは 改めて、変数に入れないといけません。 ですので、もう一度、 year_str を、 タイピングしないように コピーを持ってきて、 = と。 文字列の操作は、必ず操作した後、 それを代入するということが 必要になりますので、ご注意ください。 では、これで結果を見ます。 予告した通り、 うまくいかないんですけれども。 「アクション」パネルは、 一旦、閉じまして、 ムービープレビューでどうなるか、 結果を見ましょう。 「制御」>「ムービープレビュー」です。 1 年 これはどういうことかというと、 下2桁ではなく、 下2桁の 12 のうちの、 頭の 1 しか取ってきてないんです。 これは substring メソッドに 引数として渡す数字の数え方に、 ちょっと注意が必要です。 その注意をご説明しましょう。 SWF のウィンドウは、 一旦、閉じておきます。 substring メソッドの文法を、 もう一度、確認します。 引数は開始位置の番号、 インデックス番号という言い方もしますが、 それから、終了位置のインデックス番号です。 今 (2 , 3) で、 2文字取って来られると思ったら、 1文字しか来なかった。 ということは、結果として、 (2 , 4) としなければいけない。 ということは、想像がつくんですが、 意味が分かりませんね。 これはこういう風に解釈するといいです。 操作しようとする文字の間に、 頭の中で仕切りを置いてください。 そして仕切りに連番を振ります。 2012 の場合には、 2 の一番頭の 2 の左側に 0 という番号を振り、 仕切りを置いて、最後の 2 の終わりに、 4 という番号がつくわけです。 連番がついています。 そして、欲しい桁の仕切りを指定します。 12 が欲しいのであれば、 2 から 4 までですよね。 なんで文法がああいう仕様になったのか、 私もよく知らないのですが、 このように捉えれば、 分かりやすいのではないでしょうか。 では改めて、「アクション」パネルを開いて、 修正しましょう。 キーフレームを右クリックで、 「アクション」です。 直すのは1ヶ所ですけどね。 2 から 4 仕切りで考えるということです。 「アクション」パネルはいったん閉じて、 ムービープレビューを確認してみましょう。 「制御」>「ムービープレビュー」です。 今度は、正しく 4桁の年のうちの 下2桁が取り出せました。 では、 SWF のウィンドウは閉じて、 おさらいをしましょう。 キーフレームから、もう一度、 「アクション」パネルを開けます。 文字列から一部を取り出すメソッドとして、 substring を紹介しました。 substring は () の中の引数に、 始まりの位置と終わりの位置を、 0 から始まるインデックスで 指定するということでした。 ただし、注意が必要で、頭の中で 文字の間に切れ目(仕切り)を入れて、 その仕切りの始まりと終わりで指定すれば、 その間の文字が取れるということです。 以上が、 substring メソッドを使った 文字列の操作の仕方でした。

基礎から学ぶActionScript 3.0

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

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

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

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

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