基礎から学ぶActionScript 3.0

配列を使った矢印キーによるインスタンスの移動-中編-

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

ぜひご覧ください。

無料で視聴する すべての加入プランを見る
または
配列は入れ子にできます。すると、キーコードをインデックスにした配列エレメントに、プロパティ名と移動ピクセル数がセットで納められます。
講師:
07:45

字幕

次に、この myProp と n は、 プロパティと値のセットなんで、 配列にしてしまいます。 では、この 2 行は コメントにして、コメントアウトして、 test という配列に入れます。 Array ですね。 もう直接、書き込んじゃいます。 x と 100 では、どう取り出したらいいかというと、 ここは test の中の、 インデックスは 0番ですね、0 番。 そして、ここは test の中の、 インデックスが1番になります ムービープレビューを確かめてみましょう。 動きは変わらないですけどね。 動きが変わらなければ OK ということです。 変わりません。 では、さらに、 y 座標を -50 するという セットも付けたいと思ったら 、 どうしたらいいでしょうか? とりあえず、それを書いてみます。 y を -50 にしたいと。 でも x を100 にしたい。 これも残したいんですね。 だったら、どうしたらいいかというと、 この 2 つの配列をどっちも使って 1個の変数に入れたい。 複数の値を1個の変数に入れるには、 配列にすればいいですね。 set という配列を作ります。 そして、そこには、 2つのエレメントが入っています。 2つのエレメントですね。 そのエレメントがさらにまた配列。 これが配列の入れ子です。 でも配列の中に配列を入れても、 全く問題ありません。 では、この中の、 さっきは x を 100 使ったんで、 これを使いたいなと思ったら、 この set から、 インデックス 1 番ですね、 1 番を取り出せばいいです。 そして、そのインデックス 1 番から取り出した 0 番というのはここですね、 y と。 1 番は -50 を取り出す。 ということで、 この式は全く変わっていないんですが、 y 座標が -50 つまり、上に 50 ピクセル動きます。 ムービープレビューを確かめてみましょう。 「制御」>「ムービープレビュー」です。 確かに、ペンギンが上に行きました。 配列の入れ子を使った プロパティの操作というのは、 このように行えばいいです。 元の、矢印キーでインスタンスを操作する、 そのムービークリップシンボルの中の フレームアクションに戻りました。 今の考え方を使いましょう。 ですから、ここには、 入れ子の配列を作り、 x 座標を -1 と。 同様に下も、 x 座標を + と書いてありませんが、 +1 ですね。 y も入れます。 keys の ここはコピー使いましょう。 UP の場合、 y 座標を -1 コピー使っちゃましょう。 ペーストと。 DOWN の場合は y 座標を +1 ですね。 そして、ここで取り出されるのが、 入れ子の配列になりますので、 Number ではありません。 Array になります。 問題はここですね。 こちらは key の中の 1 番でいいんですけど、 こちらは key の 0 番というだけでは、 この左側にオブジェクトがありません。 . (ドット)アクセスを [ ] (ブラケット)アクセスに直すには、 「オブジェクト.プロパティ」 だったものを、 「オブジェクト [" プロパティ名"] 」に しなければいけません。 つまり、この左側に何かオブジェクトを 置かなければいけないということになります。 ムービークリップシンボルの中の フレームアクションに戻りました。 そして、この左辺は プロパティ x に書き直しました。 この横に「何とか . 」が 無いからいけないんですね。 だから [ ] アクセスに治せません。 無理やり「何とか . 」を付けましょう。 どうしたら良いかというと、 この今スクリプトを書いてる場所、 ムービークリップインスタンスというのは、 this. になります。 this. で、「ここの」と、 このオブジェクト、 「ムービークリップインスタンスの」 ということになります。 . (ドット)が付きましたので、 晴れて [ ] アクセスに書き換えられます。 ここを [ ] にして、 そして key の x y はこれは 0 番ですね。 0 番を取り出せば良いということです。 ムービープレビューを確かめましょう。 「制御」>「ムービープレビュー」です。 まず、左矢印、右矢印、 それから上、 OK ですね。 下も動きました。 大丈夫なようです。 関係ないキーを押しても、 特に問題ありません。 では、 SWF を閉じましょう。 ポイントをおさらいします。 条件判定を使わずに、 配列を使ってキーの操作を実現しました。 ポイントは配列の Keys のインデックス番号。 Keys のインデックス番号、 コード番号を そのままインデックスに 使ったということですね。 それで、それぞれのキーを押した時に、 どういう操作をしなければ いけないかというのは、 単純に、その KeyCode のエレメントを 取ってみれば分かるということです。 そして、そのエレメントの中に、 プロパティの名前と値と、 2つをセットにするために、 入れ子の配列を使いました。 ですから KeyCode で取り出した時に、 取り出したのは子供の配列ですね。 そして、その子供の配列から、 改めて、さらに、 プロパティ名と値とを取り出しています。 そうすることで、 この if 文はありますけども、 どのキーを押したかという点については、 条件判定はせずに、 配列で処理ができたということです。 あともう1つだけ、 最後にポイント、ここです。 ここに入ってるのは Array ですね、 配列です。 配列が Boolean 値に どのように評価されるかで締めましょう。 実は配列だけでなく、 クラスから作られたインスタンス、 つまりオブジェクトは全て、 Boolean 値として評価すると、 true になります。 ですから、先ほどの if ステートメントは全く変えないまま、 ちゃんと条件判定ができた。 変な値が入っていなければ、 処理をするという操作が 実現できたということです。 以上、いくつかのテクニックを組み合わせて、 配列を使ったキーの操作のご説明でした。

基礎から学ぶActionScript 3.0

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

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

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

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

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