アクセシビリティ
デベロッパーリソース

目次

AIRチュートリアル Flash 第4回 アプリケーションを完成させよう! ~コンポーネントやライブラリを利用する~

【エリア情報を表示する】

では、取得したエリア情報をコンボボックスに表示してみましょう。

  1. ライブラリに[コンボボックス]コンポーネントを追加します。
    01
  2. コンボボックスの名前を宣言するActionScriptを追加します。
    「Script」レイヤーのフレーム1:
    var myCB_area:ComboBox;
  3. XMLの読み込みが完了した時に呼ばれる関数「xmlCompfunc_area」を作成します。コンボボックス(インスタンス名:cb)のサイズ、データ、座標を設定します。以下のActionScriptになります。
    function xmlCompfunc_area(event:Event):void {
    namespace ns = 'http://webservice.recruit.co.jp/HotPepper/';
    use namespace ns;
    var results:XML = new XML(loader.data);
    var cb:ComboBox = new ComboBox();
    cb.setSize(100,24);
    cb.prompt = "エリア選択";
    var j:int;
    for(j=0; j < results.large_area.length(); j++){
    var itemObj:Object = new Object();
    var itm : Object = results.large_area[j];
    itemObj.label = String(results.large_area[j].name);
    itemObj.data = String(results.large_area[j].code);
    cb.addItem(itemObj);
    }
    addChild(cb);
    cb.y = 3;
    cb.x = 50;
    myCB_area = cb;
    }
  4. ここまでを実行してみましょう。
    コンボボックスをクリックするとエリアが表示されました!
    02
  5. コンボボックスと背景の画像が重なってしまっていますね。ちょうどよい位置に調整してください。
    03
  6. また、コンボボックスをクリックし、リストを表示させた状態でドラッグしたり、コンボボックスのスクロールバーをドラッグすると、ウィンドウも動いてしまいますので修正しましょう。
    dish&Chopstick」レイヤーの上に新しく「window」レイヤーを作成します。
  7. 新規シンボル「window_mc」(ムービークリップ)を作成します。ムービークリップ内にコンテンツと同じサイズ(700×500)の矩形を描きます
    04
  8. 「シーン1」に戻り、インスタンス名も「window_mc」とし、そのムービークリップのプロパティで、アルファを「1」に設定します。透明なムービークリップが作成されます。
    05
  9. ActionScript
    stage.addEventListener(MouseEvent.MOUSE_DOWN, windowMove);
    window_mc.addEventListener(MouseEvent.MOUSE_DOWN, windowMove);

    に変更します。これで、リストを表示した状態でドラッグしても、ウィンドウ自体は動かなくなりました。