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

[ライブラリ]のビットマップからつくったインスタンスをステージ中央に置く-後編-

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

ぜひご覧ください。

無料で視聴する すべての加入プランを見る
または
StarlingルートクラスからStageオブジェクトを参照するには、インスタンスが表示リストに加えられるのを待たなければなりません。
講師:
06:37

字幕

Flash のライブラリに置いた ビットマップ これを Starling フレームワークの ステージに配置すると 特に位置を定めなければ デフォルトであるステージの 左上隅に置かれます これをステージの中央に 置いてみましょう 先ず今現在の Flash ムービーファイル fla ファイルと Starling ルートクラス AS ファイルの状態を 確認しておきましょう FLA ファイルの方はフレームに フレームアクションが書いてあります お馴染みの 3 行です Starling のクラスをインポートし インスタンスを コンストラクタを呼び出して作ります 引数は Starling ルートクラス と stage そのオブジェクトに対して start のメソッドを呼び出せば Starling フレームワークが 実行されます アクションパネルを閉じまして 次は Starling ルートクラス AS ファイルの方の確認です 全体が見やすいように キーボードの F4 で スクリプト全体を フルスクリーンにしましょう Starling ルートクラスは Starling の Sprite をベースにして作りますので Sprite クラスを import します そしてクラス名は MySprite ですが Sprite をベースにしますので extends Sprite ということで クラスを定義します そしてクラスの 同じ名前のコンストラクタメソッド ここからは初期化のメソッドを 作ってありまして initialize です これを呼び出すことになっています ライブラリのビットマップに クラス名を付けておいて new でオブジェクトを作ります これは Flash の BitmapData に一旦なります ですから import も Flash の BitmapData を 宣言しています そして Flash の方では Bitmap を Texture に変換し Texture を更に Image に入れて オブジェクトを作ることになっています ですから Starling の Image と Texture を インポートします そして 先ず Texture を作るわけなのですが これは Bitmap を元にして Texture を作ります ですから Texture の fromBitmapData という メソッドを呼び出し そこに BitmapData を入れると Texture に変換されます この Texture そのままでは Starling のステージに 置けませんので Image のクラス コンストラクタの引数に渡して Image で包んで オブジェクトを作り その Image オブジェクトを addChild で Starling ルートクラスの 子どもにする これで Starling のステージに ライブラリのビットマップが 表示されることになります では Image オブジェクトを ステージの中央に 配置したいと思います 座標を動かすわけですから 変数に入れたインスタンス これをコピーします コピーはキーボードから コントロール若しくはコマンドキーを 押しながらドラッグです そして x 座標を ステージにアクセスする時には プロパティ stage です これは ActionScript 3.0 定義済みと 同じですね そして stage x ですから Width ですね 幅です この半分にすれば中央になると では y も同様なのですが これは もう コピーしてしまいましょう コピーして ペーストです そして x を y に書き換えて Width を Height にします クラスファイルは 確認の前に必ず保存しましょう ファイルメニューから保存です そしてムービープレビューを 確かめますので fla ファイルの方に 切り替えます ムービープレビューは制御メニューから ムービープレビューです 何も出てきません というよりは出力パネルに エラーが起こっています ナルのオブジェクト参照のプロパティ またはメソッドに アクセスすることができません エラーメッセージでは通常 そのエラーを起こした行番号が 出てくるのですが このナルの オブジェクト参照というのは 言ってみれば 1 番嫌なエラーです どの行か というのが示されません どうも initialize に 問題があるらしいということは分かるのですが このエラーの原因を探す時には かなり面倒なことになります もっとも今回のエラーの原因は さほど難しくありません 先ずウィンドウを閉じて クラスファイルの方に 切り替えます 下のこの出力パネル 邪魔ですので ファンクション 4 番を 2 回押して 隠します 先ず原因を確かめるのが 簡単かと言いますと 今回この 2 行しか追加していません ですから この 2 行に 問題があるということは殆ど明らかですね 但し更にどこが そのエラーを起こしている理由なのか という所は 確かめなければいけませんけれども 取り敢えず ここをコメントアウトしましょう そして ナルのオブジェクト参照というのは オブジェクト値が空っぽである ということなんですね ここでアクセスしている オブジェクトというのは この Image オブジェクト instance という変数に 入っています それから stage です ですから この 2 つの どちらかであろう という見当はつきます instance は この 2 行を入れるまでは できていましたので 恐らく この中に空っぽということは ないと思います stage を確かめましょう では トレースアクションを 入れることにします trace 関数で stage をトレースします コピーで持ってきます では保存して 確認してみたいと思います fla ファイルに切り替えます そして 制御メニューから ムービープレビューです Image オブジェクトはちゃんと ステージに表示されています それから 出力パネルの方なのですが 最初の 2 行は ここでは Starling が きちんと起動すれば必ず これが 表示されることになっています ですから先ほど加えた trace 関数の出力は ナル ビンゴですね ですから stage がナル 空っぽであるということを 意味しています では このウィンドウは閉じましょう そして Starling ルートクラスの方に 切り替えます ファンクション 4 番を 2 回押して フルスクリーンにしましょう

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

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

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

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

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

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