第2回 ターゲットパスとプロパティ | デザインってオモシロイ -MdN Design Interactive-
【サイトリニューアル!】新サイトはこちらMdNについて
イチから始めたい人、リトライしたい人のためのFlashのABC

Lesson5 ActionScript

第2回 ターゲットパスとプロパティ


ActionScriptを設定する際、対象となるオブジェクトを指定するためには、オブジェクトの位置情報である「ターゲットパス」が必要になる。 「ターゲットパス」とは、階層構造になっているオブジェクトに「インスタンス名」をつけ、ドットシンタックス「.」でつないで表記したものだ。 ActionScriptで、ムービークリップオブジェクトの参照、x座標(「_x」)、y座標(「_y」)、透明度(「_alpha」)などのプロパ ティの変更を行い、オブジェクトを操作してみよう。

解説:北川貴清
※「FlashのABC」の本文中の解説で使用しているサンプルデータは、別ページでダウンロードができます。


赤い木の実のムービークリップインスタンスを3つ配置した木のムービークリップシンボルを作成し、「シーン1」に配置する。木のインスタンスを選択し、プロパティインスペクタでインスタンス名を「tree_mc」とする【図1】。同様に木のシンボル内の実のインスタンス名を「fruit0_mc」~「fruit2_mc」とする【図2】。これを使って、「絶対パス」、「相対パス」と呼ばれる2つのターゲットパスの表記方法を学習していこう。


【サンプル1】木と実のムービークリップインスタンスにインスタンス名を設定したサンプル

【図1】木のムービークリップにインスタンス名を設定
【図1】木のムービークリップにインスタンス名を設定

【図2】実のムービークリップにインスタンス名を設定
【図2】実のムービークリップにインスタンス名を設定

■Point!
インスタンス名を設定するとき、ムービークリップであれば名前の最後に「_mc」、ボタンであれば名前の最後に「_btn」と接尾語をつけておくと、識別しやすく、[アクション]パネルでターゲットパスを記述した際に、コードヒントを表示させることができる。

絶対パス
絶対パスは、一番上の階層であるメインのタイムライン「_root」を基点としてオブジェクトの位置情報を表すパスのことだ。MovieClipオブジェクトはメインのタイムラインを頂点とする階層構造になっているので、すべてのMovieClipオブジェクトは「_root」からのパスによって参照することができる。例えば、「tree_mc」内の「fruit0_mc」は「_root.tree_mc.fruit0_mc」と表すことができる【図3】。

【図3】絶対パス
【図3】絶対パス
相対パス
相対パスは、MovieClipオブジェクト自身のタイムラインを基点として相対的に位置情報を表わし、ほかのMovieClipオブジェクトを参照するパスのことだ。基点となるオブジェクト自身を表すには「this」を用いる。例えば、「tree_mc」自身のタイムラインは「this」で、「fruit1_mc」を参照すると、「this.fruit1_mc」となる。「this」は省略することも可能で「fruit1_mc」としてもよい。また、ひとつつ上の階層のMovieClipオブジェクトを参照するには「_parent」を用いる。「tree_mc」のタイムラインからメインのタイムラインを参照すると「_parent」、「fruit1_mc」から参照する場合は「_parent._parent」となる【図4】。

【図4】相対パス
【図4】相対パス

■Summary:ムービークリップのプロパティ
プロパティとは、オブジェクトの属性のことだ。ターゲットパスを指定して、「オブジェクト.プロパティ」のように参照する(オブジェクトが「this」だ けのときは省略できる)。ムービークリップのプロパティには座標や、透明度などの値を読み取ったり変更したりできるものと、現在再生中のフレーム番号やマ ウスの座標のように読み取り専用のものがある。主なプロパティは次のとおりだ。

_alpha:ムービークリップの透明度

_visible:ムービークリップの表示/非表示

_rotation:ムービークリップの回転角度

_x:ムービークリップのx座標

_y:ムービークリップのy座標

_xscale:ムービークリップの幅の拡大縮小率(%)

_yscale:ムービークリップの高さの拡大縮小率(%)

_width:ムービークリップの幅(ピクセル)

_height:ムービークリップの高さ(ピクセル)

_name:ムービークリップのインスタンス名。

_quality:ムービーの表示品質("LOW","MEDIUM","HIGH","BEST")

<読み取り専用のプロパティ>
_currentframe:現在再生中のフレーム番号

_totalframes:フレームの総数

_framesloaded:ロードされたフレーム数

_target:ムービークリップのターゲットパス

_droptarget:ドラッグ先のムービークリップの名前

_url:ムービークリップが読み込まれたURL

_xmouse:マウスのx座標

_ymouse:マウスのy座標

プロパティを使ったアクション


それでは、ムービークリップのプロパティを変更するActionScriptを設定してみよう。【サンプル2】にActionScriptを記述して、木の実の回転とサイズを変更する。


【サンプル2】木の実がそれぞれに回転し、拡大縮小されている

1.まずは、メインのタイムラインからのターゲットパスを考えてみよう。ムービークリップ「tree_mc」内のムービークリップ「fruit0_mc」~「fruit2_mc」を相対パスで表すと、「this.tree_mc.fruit0_mc」~「this.tree_mc.fruit2_mc」になる。なお、「this」は省略できるので、「tree_mc.fruit0_mc」~「tree_mc.fruit2_mc」とすることができる【図5】。

【図5】ターゲットパス
【図5】ターゲットパス

2.新規レイヤー「action」を作成する。[フレーム1]を選択し、[ウィンドウ]→[アクション]で[アクション]パネルを開く。回転角度のプロパティは「_rotation」なので、角度の値を設定して、各ムービークリップを回転するように記述する【図6】。ここまでを[制御]→[ムービープレビュー]で確認すると【図7】のようになる。

【図6】[アクション]パネルに、角度を回転させるActionScriptを記述
【図6】 [アクション]パネルに、角度を回転させるActionScriptを記述

(1) tree_mc.fruit0_mc._rotation = 20;
「tree_mc.fruit0_mc」の回転角度(「_rotation」)を20°回転する

(2) tree_mc.fruit1_mc._rotation = 60;
「tree_mc.fruit1_mc」の回転角度(「_rotation」)を60°回転する

(3)tree_mc.fruit2_mc._rotation = -40;
「tree_mc.fruit2_mc」の回転角度(「_rotation」)を-40°回転する(マイナスの値を設定することもできる)


【図7】木の実がそれぞれに回転する

3.続けてサイズを変更しよう。サイズを縦横比率固定して拡大縮小するには、幅の拡大縮小率のプロパティ「_xscale」と、高さの拡大縮小率のプロパティ「_yscale」に同じ%の値を設定してやればよい。元の拡大縮小率の値は「100(%)」だ【図8】。[制御]→[ムービープレビュー]で確認しよう。

【図8】 [アクション]パネルに、拡大縮小のActionScriptを記述
【図8】 [アクション]パネルに、拡大縮小のActionScriptを記述

(1)
tree_mc.fruit0_mc._xscale = 130;
tree_mc.fruit0_mc._yscale = 130;
「tree_mc.fruit0_mc」のサイズ(「_xscale」、「_yscale」)を130%に拡大する

(2)
tree_mc.fruit1_mc._xscale = 180;
tree_mc.fruit1_mc._yscale = 180;
「tree_mc.fruit1_mc」のサイズ(「_xscale」、「_yscale」)を180%に拡大する

(3)
tree_mc.fruit2_mc._xscale = 80;
tree_mc.fruit2_mc._yscale = 80;
「tree_mc.fruit2_mc」のサイズ(「_xscale」、「_yscale」)を80%に縮小する


サンプルをダウンロードする


次回につづく


著者写真 [プロフィール]
きたがわ・たかきよ●1972年8月生まれ。三重県出身。三重大学工学部卒業。大阪を拠点としてwebデザインを中心に活動中。著書に『Flash8デザインスクール for Win & Mac 』『ネタ帳ビギナーズ FLASHテンプレート集 』
http://www.f-l-a-v-o-r.com
twitter facebook このエントリーをはてなブックマークに追加 RSS
【サイトリニューアル!】新サイトはこちらMdNについて

この連載のすべての記事

アクセスランキング

8.30-9.5

MdN BOOKS|デザインの本

Pick upコンテンツ

現在