StarlingフレームワークによるStage3Dを使った2次元表現

配列をVectorクラスで書替える

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

ぜひご覧ください。

無料で視聴する すべての加入プランを見る
または
Arrayクラスを使った処理は、Vectorに書替えると処理を速められます。
講師:
09:20

字幕

Starling は描画が高速な Stage 3D の機能を使った フレームワークです せっかく処理の速い機能を 使っているのですから Stage3D 以外でも 速さを追求したい所です 今 ご覧になっている Starling ルートクラスでは 複数のトゥイーンを切り替えるために 配列 Array クラスを使っています けれども Array クラスを使うよりも Vector クラスを使った方が速いです その Vector クラスについて ご説明しましょう Adobe のサイトには Flash Platform の パフォーマンスの最適化という説明があり その中で Array クラスよりも Vector クラスを使うように という説明があります ですから もしできることであれば Array クラスを使っている場合には Vector クラスに 切り替えた方が良いです 改めて Starling ルートクラスに 設定された- トゥイーンの処理を見てみましょう トゥイーンの設定を setTween という メソッドで実行しています トゥイーンの処理の仕方は 手順が 3 つで 先ずトゥイーンのオブジェクトを コンストラクタを呼び出して作ります そしてトゥイーンの設定をし 最後に Starling が持っている Juggler に Tween オブジェクト add add メソッドで加えて処理を行います その時の moveTo という処理を トゥイーンに設定しているのですが その行き先 x 座標の position という変数に入っているのですが この変数は配列から取り出しています positions これは複数形ですね そこから頭から 1 個取り出す shift というメソッドで エレメントを 取り出していますけれども この positions という配列は 初期化のメソッド initialize という名前にしていますけれども そこで設定をしています 値はエレメントは 3 つあります 1 個 2 個 3個ですね ステージを水平に左端から右端 右端から左端と 一往復半するものですから 先ず最初の行き先はステージの 右端ということで ステージ幅をとっています それから次はステージの左端 x 座標は 0 ですね またステージの右端に戻ります この 3 つの値を positions と配列にとって 配列から行き先を取り出し その行き先を x 座標 moveTo の 第 1 引数に渡しています ここで配列を使っているのですが Vector を使った方が 処理としては速くなります Vector はカタカナ読みをすると ベクトルですけれども 2 次元や 3 次元の座標の ベクトルとは全く関係がありません むしろ配列とほぼ同じです 但しその配列とは違って エレメントとして入れることができる データ型を限定できます この Vector オブジェクトには 数値しか入れないとか文字しか入れない といった限定ができます ですから扱いは配列と ほぼ同じなんですけれども その配列をより厳格化して 処理のスピードを速めたものと 考えていただいて結構です 実際 Vector の プロパティやメソッドを見てみると だいたい配列をご存知であれば ほぼ同じメソッドやプロパティが 用意されています 改めてこの Starling ルートクラスの トゥイーンの設定を確かめてみましょう トゥイーンは先ず Tween オブジェクトを コンストラクタを呼び出して作ります そして引数は トゥイーンをするオブジェクト それから時間ですね これは現在 7 秒になっています 後はトゥイーンの値の変化のさせ方 EASE_IN_OUT_ELASTIC ということですので 変化は頭とお尻両方に行われて ELASTIC というのは 弾力性のある変化になります そして作った Tween オブジェクトに対して moveTo 位置のトゥイーンを 設定しています そして x 座標 y 座標を指定するのですが この x 座標を実は配列で設定しています そしてトゥイーンのオブジェクト myTween という名前になっていますが それを juggler に add メソッドで設定することによって アニメーションが実行されます あともう 1 つ トゥイーンが終わったら コールバックの設定が行われています トゥイーンが実行が終わった時には setTween このメソッド自身を また実行するということです そして座標は 配列から取り出しているのですが この配列の設定を見てみましょう positions という配列ですね これはプロパティとして 最初に宣言してあって そこに 3 つの値を入れています これを順番に取り出して トゥイーンをしよう ということなのですが ここが配列ですので これを Vector にしてみましょう 配列 Array で宣言されたプロパティを Vector に変更します ここは Vector になるわけですね そして Vector にはその中に エレメントとして入れる データ型を指定することができます というより指定しないと 怒られるんですけれども この指定の仕方が ちょっと変わっています ドットの後に山型の括弧を付けます この中に入れたいのは positions とありますけれども そこから取り出したのは Number となっていますね Number 型の エレメントを入れたいです ということで この山型の括弧の後に Number というデータ型を 指定して山型を閉じます これが Vector の データの指定の仕方です そして positions に Vector を入れます この角括弧でいきなり書く書き方は 配列を作る書き方ですので これを Vector を作る 書き方に変えます とても変わっています ちょっと最初に ご覧に入れてしまいましょう new と書きます new と書いたら その後にコンストラクタ ベクターですから Vector と書きたくなるのですが Vector の場合だけは書きません そして角括弧の Number というのを書いてしまいます その後は配列と同じです これが Vector を作って しかもその中にエレメントを指定する という書き方になっています Vector 以外には こういう書き方はしませんので これは特別だ という風に思ってください それでは動作を確かめてみます クラスは必ず保存します そして FLA ファイルの方に切り替えて 制御メニューからムービープレビューで 動作を確かめてみます 3 つのトゥイーンが順番に行われます オブジェクトは左端から 右端に ELASTIC ですので 弾力性のある動きをします そして次は左端に戻ります 一往復半しますので もう一度右に行って トゥイーンが終了します ではウィンドウは閉じましょう Starling ルートクラスの方に 切り替えます そしてスクリプトを フルスクリーンで見るために ファンクション 4 番を 2 回押します Starling ルートクラスで 使っていた配列 Array クラスを Vector クラスに変換しました その場合の考え方について おさらいしましょう Vector クラスというのも 配列 Array クラスと同じように 複数のデータをまとめて使える そういうクラスです 配列と違うのは中に入れるエレメントの データ型が指定できることです それから結果として 処理が非常に速くなります 実際の使い方ですけれども データ型の指定が Array が Vector に代わりました そして Vector の場合には 中に入れるエレメントの データ型を指定しますので これがちょっと変わっているのですが ドットの後に角括弧で 中に入れるエレメントの データ型を指定します そして配列の様に角括弧で 値を入れてしまうことが できるのですが 配列とは違いまして 頭にちょっと変わった書き方をします new という演算子が つくんですけれども コンストラクタ Vector とは書きません その代わりに角括弧の エレメントのデータ型の指定をします 後は Array 配列と同じ扱いが できますので 例えば length という プロパティがあります shift というメソッドが実行できます ですから実際 この Starling ルートクラスに定めた- Tween の設定ですね ここは全く書き換える 必要がありませんでした もし配列 Array の代わりに Vector が使える場面であれば Starling あるいは Stage 3D に関係なく使うと 処理を速めることができます

StarlingフレームワークによるStage3Dを使った2次元表現

StarlingはFlash Player 11の新しい描画機能Stage3Dに基づいて作られた2次元の描画用フレームワークです。このコースではStarlingフレームワークによるクラス定義の基礎から、トゥイーンアニメーションやマウスインタラクション、そして最近のバージョンで実装された新しい機能まで解説していきます。

5時間09分 (40 ビデオ)
現在、カスタマーレビューはありません…
 
ソフトウェア・トピック
カテゴリー
プログラミング
価格: 3,990
発売日:2014年01月26日

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

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

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