基礎から学ぶActionScript 3.0

差を埋める - 天動説

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

ぜひご覧ください。

無料で視聴する すべての加入プランを見る
または
天動説の考え方では、自分から見た相手との差を埋め合わせれば追いつきます。天動説と地動説、両方の見方ができると、座標系の理解が深まります。
講師:
06:01

字幕

タイムラインに置いたインスタンスが マウスポインタのあとを 追いかけるようなムービーを作ります この場合 マウスポインタの座標を 調べるプロパティと インスタンスの座標を決める プロパティの基準になる点 原点が異なります 座標空間が異なるという言い方もできます それをどう揃えるかということがポイントです この Flash ムービーのスクリプトでは インスタンスの座標と マウスポインタの座標とを 親から見た座標空間で揃えています スクリプトはシンボルの中に 書いてありますので タイムラインに置いた― ムービークリップシンボルの インスタンスをダブルクリックします 「シーン 1」 Pen というのがシンボル名です 今ムービークリップのシンボルが開いて 編集状態になっています では script のレイヤの キーフレーム 右クリックで 「アクション」パネルを開いてみましょう 第1行目は EventListener の登録です addEventListener メソッドで アニメーションのイベントは Event.ENTER_FRAME です そしてリスナー関数を 第2引数にして登録します 2行目がリスナー関数です eventObject を受け取り : のあとは void ポイントは この2行ですね mouseX mouseY が マウス座標を調べるプロパティです そして xy はおなじみ インスタンスの座標を調べるプロパティです mouseX mouseY は インスタンスから見たマウス座標です 他方で x と y は親の タイムラインから見たインスタンスの座標です 基準が揃いません そのため mouseX mouseY の前に parent というプロパティを置いて 親から見たという風に原点を 左辺と揃えています これによってマウスポインタの座標と インスタンスの座標がきちんと合います これが1つ目の解決方法です ではもし この parent. を 取ってしまったら どうでしょうか もちろんダメです 「アクション」パネルを閉じて ムービープレビューを確かめてみます 「制御」>「ムービープレビュー」 点滅してますね インスタンスの座標とマウスポインタの 座標の基準が合っていませんので 外に出たり中に入ったり ステージの内外内外を繰り返しますので このような点滅になるわけです では SWF のウインドウは一旦閉じます 改めてフレームアクションを確認します キーフレームを右クリックして 「アクション」でパネルを開けます これは基準が揃ってないから当然ですね 先ほどはこの前に マウスの座標の前に親から見たということで 親基準で揃えました いわば地動説です 太陽から見た地球のような揃え方ですね では地球から見た 自分から見た基準では揃えられないかというと 実は揃え方があります その結果自体は簡単なので まず結果だけ先にお見せします = の前に + を加えます y についても同様に += は現在の値に加算するということです つまり mouseX mouseY マウスポインタの インスタンスから見た XY 座標を インスタンスの XY 座標に 加算をするわけです 「アクション」パネルを一旦閉じて ムービープレビューを確認します 「制御」> 「ムービープレビュー」です マウスポインタのあとを きちんと追いかけていますね 結果としてこれでうまくいったということは お分かりになったでしょう ただ理由が知りたいと思いますので その御説明をします SWF のパネルは一旦閉じます インスタンスとマウスポインタとの関係を 図にしてみました インスタンスが例えばここにいて マウスポインタの座標が 100 ピクセル先にいるとします とりあえず水平方向だけで考えます その場合 mouseX は 100 ですね その時 インスタンスの座標に 100 ピクセル足してあげると マウスポインタの位置に追いつきます 例えばマラソンで先頭走者が自分の 100 メートル先にいるとしましょう 2人とも走ってますから スタートラインからの距離は どんどんどんどんお互い変わっていきます けれども自分と先頭走者の間の距離が 100 メートルだとしたら 追いつくためにどうしたらいいかというと 100 メートル ポンと飛べばいいんですよね つまり自分と目標とする者の間の差を 埋めてあげることによって追いつくんです スタートラインから何メートルの位置か 何キロの位置かということは関係ありません つまり親から見たのではなくて 自分から見た 座標でコントロールすることも可能なんです 改めてスクリプトでおさらいしましょう mouseX mouseY という プロパティはインスタンスから見た座標です マウスポインタの座標です xy は親から見た座標です でも親から見た位置がどうであるかに関係なく 自分から見た目標値 マウスポインタの XY 座標を足し混んで 差を埋めてあげれば マウスポインタに追いつくことが できるということです これは自分中心の基準 いわば天動説で 座標空間を揃えたということです 座標空間の揃え方というご説明でした

基礎から学ぶActionScript 3.0

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

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

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

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

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