- 締切済み
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
- みんなの回答 (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
お礼
ご回答ありがとうございます。 本などでコンポーネントの説明やサンプルが本当に載っていないので、 大変助かりました。