• 締切済み

ComboBoxでmcを移動させるには

お世話になります。 コンポーネントのComboBoxでリストから項目を選択して、一つのムービークリップを等間隔で移動させたいと思っています。 例えば、 +10.0を選択するとmcが右に1300px移動 +3.0を選択するとmcが右に390px移動 +1.0を選択するとmcが右に130px移動 0はデフォルト -1.0を選択するとmcが左に130px移動 -3.0を選択するとmcが左に390px移動 -10.0を選択するとmcが左に1300px移動 というような感じに作るにはどうしたら良いでしょうか? なるべく簡単な方法でできるとありがたいです。 どうぞ宜しくお願いいたします。 環境:Windows XP、Flash Professional 8

みんなの回答

noname#35109
noname#35109
回答No.1

なるべく簡単な方法というのは, なるべく ActionScript を使わない方法と考えてよろしいでしょうかね。 まず, メインムービーのステージ上(_root)に, 右や左に動くムービークリップを作成します。 ムービークリップを作成しましたら, そのムービークリップを選択した状態で, 下のプロパティインスペクタ(プロパティパネル)でインスタンス名を付けます。 仮に 「my_mc」 というインスタンス名を付けて置いたとします。 次に,コンポーネントパネルから, ComboBox をステージ上にズルズルと引っ張り出してきます。 つまりステージ上に ドラッグ&ドロップ します。 そして, 引っ張り出してきた ComboBox を選択した状態で, プロパティインスペクタでインスタンス名を付けます。 仮に 「myCombo」 というインスタンス名を付けて置いたとします。 さらに, プロパティインスペクタでのタブの一番右横にある, 「パラメータ」タブを選択して, ComboBox のパラメータを設定して行きます。 パラメータ の data という欄が, [1300,390,130,0,-130,-1300] となるように, data の欄をダブルクリックして     値  0 | 1300  1 | 390  2 | 130  3 | 0  4 | -130  5 | -390  6 | -1300 のように,「+」ボタンをクリックしながら各値を埋めて行きます。 さらに, パラメータ の labels という欄が, ["+10.0","+3.0","+1.0","0","-1.0","-3.0","-10.0"] となるように, labels の欄をダブルクリックして     値  0 | "+10"  1 | "+3.0"  2 | "+1.0"  3 | "0"  4 | "-1.0"  5 | "-3.0"  6 | "-10.0" のように,「+」ボタンをクリックしながら各値を埋めて行きます。 そうしましたら, ステージの上ののタイムラインで,新規レイヤーを追加して, そのレイヤーを ActionScript のためのレイヤーと勝手に決めておいて, その新規レイヤーの ComboBox (myCombo) や,mc (my_mc) のある同じキーフレームに次のように書きます。 ---------------------------------------- // myCombo をデフォルトの 0 を選択状態にしておく myCombo.selectedIndex = 3; // リスナーオブジェクトを作成する var myListener = new Object(); // 関数をリスナーオブジェクトに割り当てる myListener.change = function(event_obj) { // my_mc を data の値の分ずつ移動 my_mc._x += event_obj.target.selectedItem.data; }; // リスナーを追加する myCombo.addEventListener("change", myListener); ---------------------------------------- ComboBox というようなFlash的ではないもの(Flex的なもの)を, 私は個人的には極力使わない主義ですから, 私も使い慣れてはいませんが,ヘルプには上のような内容が書いてあります。 こういうもの(悪く言うと手抜きするための既製品)は, あまり Flash の解説サイトなどに一々説明を書いていませんから, ヘルプを見ながらその都度作ってみるのが良い方法だと思います。 Flashドキュメンテーション (つまりヘルプのオンライン版) 「ComboBox.change」 http://livedocs.adobe.com/flash/8_jp/main/00003171.html 「ComboBox.selectedItem 」 http://livedocs.adobe.com/flash/8_jp/main/00003194.html

snowdrop25
質問者

お礼

ご回答ありがとうございます。 本などでコンポーネントの説明やサンプルが本当に載っていないので、 大変助かりました。

関連するQ&A