アプリ版:「スタンプのみでお礼する」機能のリリースについて

Windows2000、Flash2004MXです

・ActionScriptで、空のステージにコンボボックスを作りたい

空のステージの任意の位置に、ActionScriptだけでコンボボックスを作成したいのですが、可能なのでしょうか?
テキストフィールドなら、CreateTextFieldで、のように。

A 回答 (1件)

全く 0 の状態でしたら無理ですが,


ライブラリの中にシンボルとしてコンボボックスを入れておけば可能です。

ライブラリにあるムービープリップシンボルを,
attachMovie でステージ上に呼び出すように,
コンポーネントもライブラリに入れておいてattachMovieしてやれば良いのです。

まず,
コンポーネントパネル から,「ComboBox」をズルズルとステージ上に引っ張り出してきます。
そして,ステージ上からは削除します。
ステージ上から削除してもライブラリにはシンボルとして残っています。
このライブラリパネル で,「ComboBox」を右クリックして,リンケージを選択します。
そして,リンケージプロパティ のパネルで,

 □ActioScript に書き出し
 □最初の最初のフレームに書きだし

にチェックが入っていることを確認し,
また,その上の識別子が[ ComboBox ] になっているかどうかを確かめておきます。

そして,
そのコンボボックスを出没させたいフレームに次のように書けばできあがりです。


=============================================
// ライブラリのシンボルをインスタンスとして複製
_root.attachMovie("ComboBox", "my_cb", 0);
// インスタンスの座標指定
_root.my_cb._x = 100;
_root.my_cb._y = 50;
//
// ------以下は普通通り------
// アイテムをリストに追加する
_root.my_cb.addItem({data:500, label:"ラーメン"});
_root.my_cb.addItem({data:700, label:"チャーシューメン"});
_root.my_cb.addItem({data:800, label:"てんぷらうどん"});
//
// リスナーオブジェクトを作成する
var cbListener:Object = new Object();
//
// 関数をリスナーオブジェクトに割り当てる
cbListener.change = function(event_obj:Object) {
trace("注文:"+event_obj.target.selectedItem.label);
trace("金額:"+event_obj.target.selectedItem.data+"円");
};
// リスナーを追加する
_root.my_cb.addEventListener("change", cbListener);
=============================================


これでムービープレビューしてもらうと,
動作確認ができると思います。


Flashドキュメンテーション (Flash 8 のヘルプ)
「ComboBox.change」
http://livedocs.adobe.com/flash/8_jp/main/000031 …
「attachMovie (MovieClip.attachMovie メソッド)」
http://livedocs.adobe.com/flash/8_jp/main/000024 …

また,
次のURLにもそのようなことが書いてあります(FlashPaper ですが)。

「Ultrashock Tutorials」
http://www.himco.jp/articles/pdf/skinCompo_ULTRA …
 ~引用~
> サンプルを見てみましょう。
> 1. 空の Flash ドキュメントを開きます。
> 2. ステージに ScrollPane とComboBox コンポーネントの
>   インスタンスをドラッグします。
> 3. ステージから ComboBox コンポーネントを消去します。
> 4. ScrollPane のインスタンス名を myScrollPaneにします。
>
> 次に、ScrollPaneに2つのスタイルを設定します。
> 1つめは継承されないbackgroundColorの設定です。
> 2つめは継承される color の設定です。
>
> myScrollPane.setStyle("backgroundColor","0xFFCC00");
> myScrollPane.setStyle("color","0xCC0000");
>
> 次いで、ScrollPaneにComboBoxコンポーネントをロードし、
> アイテムを追加します。何が起こるか見てください。
>
> myScrollPane.attachMovie("ComboBox","myCombo",1);
> myScrollPane.myCombo.addItem("Item 1");
    • good
    • 0
この回答へのお礼

sassakun様。
お礼が遅れてしまい、大変申し訳ありません。

やりたかった事が実現できました。
サンプルソースまで付けていただきありがとうございました。

お礼日時:2007/05/27 11:26

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!