ActionScript 3.0による3次元表現の基礎

ビットマップをマウスポインタの水平座標に応じて回す-後編-

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

ぜひご覧ください。

無料で視聴する すべての加入プランを見る
または
ビットマップのインスタンスを、マウスポインタの水平位置に応じて、3次元空間のy軸で回します。
講師:
06:53

字幕

ここからいよいよ マウスポインタの位置に応じて 水平回転するというアニメーションに 持っていこうと思うんですが この Bitmap 英語の Bitmap ですね インスタンスを回すことも できるんですが この Bitmap のオブジェクトというのは ちょっとアニメーションで扱うには 不便なところがあります そこでもう 1 つという Sprite というオブジェクトを作って その中に Bitmap を入れてしまいます addChild で入れるんですけれども つまり入れ子になりますね Sprite を作り その中に Bitmap を入れ Bitmap は ライブラリのカタカナの ビットマップを持っていると ややこしいんですが ちょっと入れ子にします ということで Sprite のインスタンスを作ります mySprite にしましょう 型指定は Sprite です インポートが入ります そのままにしておいて構いません 消しても大丈夫ですけど new で Sprite ですね これは括弧の中に入れるんではなくて この Bitmap の addChild する先を Sprite にします コントロール若しくは コマンド ドラッグです そしてここにドットですね それから Sprite をメインタイムラインの 子にしないと表示されませんので addChild と この addChild の前に 何もありませんから 今スクリプトを書いている メインタイムラインの子になります そこにを mySprite 持っていくと 後は位置調整ですね mySprite をコピーしましょうか コピーして ペーストです x 座標は nX という変数を作っておいたので ステージの真ん中です それからコピーしましたので またペーストして y 座標 x と同じ様に ステージから値をもらいましょう コピーして ペーストして nY にします stage Height ですね これを Sprite の y 座標に設定すると これで Sprite のインスタンスが ステージの中央に 置かれたということになります ここまでの結果を ムービープレビューで確かめましょう 制御メニューからムービープレビューです ステージ中央に Sprite が置かれました 中央じゃないかと思うかもしれませんね この辺が多分中央です デフォルではビットマップというのは 左上隅に基準点を持ちます ですから Sprite は ここが基準点なんですが その Sprite の中に addChild した 英語の Bitmap が 左上隅に基準点があるので これで中央のつもりになっているんですね ですから Sprite の位置は分かりません この Bitmap 英語の Bitmap の位置を このインスタンスの幅の高さの半分だけ 左上隅に 左上に持っていかなければ いけないということです その調整をしましょう では swf は閉じます 今度は変数の myBitmap をコピーします コピーして myBitmap を 左上の方に持っていく訳ですから ペースト ショートカットを使ってしまいますね コントロール若しくはコマンド V です ー の x を またペーストして 幅の半分だけ 左に持っていく訳ですから マイナスするということになりますね では今度 y 方向です 垂直方向 同じ様に -=で ペーストします コントロール若しくはコマンド V Hight ですね ーの半分だけ 上に持っていくということになります ではまたムービープレビューで 結果を確かめてみます 制御メニューからムービープレビューです 今度はステージの真ん中に表示されました 確認ができましたので swf は閉じます では いよいよ仕上げです アニメーションを完成させましょう コメントアウトしてあったものは 戻します ただ インスタンス名が my_mc は無くなっていますので またこの mySprite をコピーして ここですね ペースト こちらも ペースト コメントの所は消しましょう ムービープレビューを 確認してみたいと思います 制御メニューからムービープレビューです マウスポインタの中央からの 離れ具合によって回転する 方向と速さが変わります 動きは大丈夫ですね では確認ができましたので swf は閉じましょう そしてまとめです EventListener を登録して マウスポインタの位置に応じて 水平回転させるという部分は 基本的に変えていません 変えたのはインスタンス名だけですね ですからここは良いとして ポイントは ライブラリの カタカナのビットマップから インスタンスを作成して そしてステージに表示するということです そのためにはライブラリのビットマップに クラス名を付けました アクションスクリプトで クラス名を付けておく必要があります そして そのクラス名を使って new で インスタンスが出来上がります これは アクションスクリプトのお約束ですね 但し これは そのままでは タイムラインに置けません addChild できないです addChild できる インスタンスというのは ビットマップになりますので new Bitmap で Bitmap のオブジェクトを作り そのコンストラクタの引数として カタカナのビットマップの オブジェクトを渡します これでタイムラインに 置くことはできるんですが 色々取り扱いが ビットマップの場合制限されていて 不便なのでもう 1 つ親として Sprite のオブジェクトを作りました newSprite コンストラクタを 呼び出します 括弧の中には特に何も指定しません そして この Sprite を タイムラインに addChild して ですからタイムラインの下に Sprite が入ります その Sprite の子どもとして ビットマップを加える という形を取った訳です 後下の 4 行は これは位置合わせですので もう良いでしょう ということでライブラリの ビットマップからインスタンスを作り タイムラインに表示するという処理でした

ActionScript 3.0による3次元表現の基礎

このコースではActionScript 3.0の基礎を学んだ人を対象に、3次元空間を使ったオブジェクトの動かし方について学習します。ActionScript 3.0の3次元を扱うクラスの扱い方を説明するとともに、その基礎となる数学や物理の考え方についても解説します。

3時間53分 (29 ビデオ)
現在、カスタマーレビューはありません…
 

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

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

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