トップへ戻るニュースフォーラムFLASH-ML 過去ログBak@Flaダウンロードよくある質問と答
ログイン
ユーザ名:

パスワード:


パスワード紛失

新規登録
メインメニュー
メイン
   コーダーズルーム【スクリプト系】
     ASファイルでコンボボックス、グリッドの動きを記述する方法で質問があります。
投稿するにはまず登録を

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
pegasus
Åê¹ÆNo.20894
投稿日時: 2005-10-17 18:02
新米
居住地:
投稿: 2
使用環境:
Windows2000,FlashMX2004
ASファイルでコンボボックス、グリッドの動きを記述する方法で質問があります。
始めましてpegasusと申します。
ASファイルでコンボボックス、グリッドの動きを記述する方法で
質問があります。

元になるa.flaファイルにattachMovieで
ライブラリーにあるムービークリップを貼り付けています。
また、そのムービークリップbにはb.asというスクリプトファイルをリンク付けています。
ButtonやTextFieldは問題ないのですが、
コンボボックス、グリッドの時にうまく変数設定ができません。
どのように設定すればいいのでしょうか?

具体的にはb.saというファイルに
ボタンやテキストフィールドは以下のような感じで記述しています。

import mx.controls.Button;
import mx.core.UIComponent;
import mx.utils.*;

class day_calender_window.as extends UIComponent {

var xxx_txt:TextField;
var YYY_button:Button;

function draw(){
super.draw();
this.visible = true;
YYY_button.addEventListener("click",Delegate.create(this,this.clickHandler));
size();
}

function clickHandler(){

}

このように処理内容を記述しています。
これでButtonやTextFieldは問題なく動いています。
(状況説明がうまくできなくてすいません。)
開発環境はFlashMX2004ProfessionalVersion7.2(Win)です。

コンボボックス、グリッドの時のvar以降の書き方、
addEventListenerの書き方がわかりません。
何か例などありましたら教えてください。
基本的なことなのかもしれませんが、
ドキュメントを見つけることができなく困っていました。
よろしくお願いいたします。
野中文雄
Åê¹ÆNo.20898
投稿日時: 2005-10-17 19:57
ちょんまげら
居住地: 東京
投稿: 4531
使用環境:
CS5.5 .6.8 Vista Home Premium (SP1)
Re: ASファイルでコンボボックス、グリッドの動きを記述する方法で質問があります。
肝心のComboBoxやDataGridの場合に、どのようなスクリプトを試されているのかわかりません。また、UIComponentを継承されている理由など、仕様も提示されたスクリプトだけから把握するのは困難です。
引用:
pegasusさんは書きました:
元になるa.flaファイルにattachMovieで
ライブラリーにあるムービークリップを貼り付けています。
...[中略]...
コンボボックス、グリッドの時のvar以降の書き方、
addEventListenerの書き方がわかりません。

取りあえず、MovieClipシンボルの[AS 2.0クラス]に設定する前提で、クラス定義をすると、こんな感じでしょうか。



ComboBoxコンポーネントは、[ライブラリ]に入れておく必要があります。MovieClipシンボルは、空で結構です。
import mx.controls.ComboBox;
class CreateComboBox extends MovieClip {
	var myComboBox:ComboBox;
	var createClassObject:Function;
	function CreateComboBox() {
		initialize();
	}
	function initialize(nX:Number, nY:Number):Void {
		// ComboBoxは動的に配置
		myComboBox = this.createClassObject(ComboBox, "myComboBox", 1);
		// ComboBoxにテスト用の項目設定
		myComboBox.addItem("item0", 0);
		myComboBox.addItem("item1", 1);
		myComboBox.addItem("item2", 2);
		// イベントリスナーとして登録
		myComboBox.addEventListener("change", this);
	}
	function change(eventObject:Object):Void {
		var selectedValue:Object = eventObject.target.value;
		trace(selectedValue);  // 選択されたdata値を出力
	}
}


----------------
 

pegasus
Åê¹ÆNo.20919
投稿日時: 2005-10-19 11:58
新米
居住地:
投稿: 2
使用環境:
Windows2000,FlashMX2004
Re: ASファイルでコンボボックス、グリッドの動きを記述する方法で質問があります。
早速のアドバイスありがとうございます。
出張ですぐに返答できなかった事をお詫びいたします。


状況の説明がうまくできなくて申し訳ありませんでした。
教えていただいた内容で、大きな問題は解決しました。

ComboBoxを使う時に
「var myComboBox:ComboBox」と設定すればよい事が
わからなかったので、質問を表現しにくかったです。
すいませんでした。

DataGridの時は同じように
「var myDataGrid:DataGrid」と設定すればよいのでしょうか?


また、私の開発環境でUIComponentを何故継承しているかという
事でしたが、ComboBoxやDataGridを使う際はUIComponentを
継承するものだと思っていました。
余りこの辺り詳しくわかっておらず、みようみまねで作っています。
色々なプログラミング方法があると思うのですが、
私のところにある例では以下のような雛型で進めています。
(今回教えて頂いた内容を一部反映しています。)

元になるyyy.flaファイルにattachMovieで
ライブラリーにあるムービークリップを貼り付けています。
また、そのムービークリップxxxにはxxx.asという
スクリプトファイルをリンク付けています。
ムービークリップxxxにはa、b、cのボタン、dのコンボボックスが
貼り付いています。

drawのあたりは何の為にこうなっているのか良く理解できていませんが、
現状問題なく動かせています。
(確か、イベントをうまく拾えなくてこの方法に行きついたと記憶しています。)

import mx.controls.Button;
import mx.controls.ComboBox;
import mx.core.UIComponent;
import mx.utils.*;

class XXX extends UIComponent {
var a:Button;
var b:Button;
var c:Button;
var d:ComboBox;


function draw(){
super.draw();
this.visible = true;
a.addEventListener("click",Delegate.create(this,this.a_Handler));
b.addEventListener("click",Delegate.create(this,this.b_Handler));
c.addEventListener("click",Delegate.create(this,this.c_Handler));
d.addEventListener("click",Delegate.create(this,this.d_Handler));

var d_list = ["項目1","項目2","項目3"];
d.dataProvider = d_list;

size();
}


function a_Handler(){
// aの処理内容です。
}


function b_Handler(){
// bの処理内容です。
}


function c_Handler(){
// cの処理内容です。
}


function d_Handler(){
// dの処理内容です。
}
}


野中文雄
Åê¹ÆNo.20974
投稿日時: 2005-10-22 9:49
ちょんまげら
居住地: 東京
投稿: 4531
使用環境:
CS5.5 .6.8 Vista Home Premium (SP1)
Re: ASファイルでコンボボックス、グリッドの動きを記述する方法で質問があります。
コンポーネントを予め配置したMovieClipに、クラスを定義する場合について,かんたんにまとめてみしまた。

MovieClipに定義したクラスからコンポーネントを設定したい
引用:
pegasusさんは書きました:
drawのあたりは何の為にこうなっているのか良く理解できていませんが、
現状問題なく動かせています。
(確か、イベントをうまく拾えなくてこの方法に行きついたと記憶しています。)


----------------
 

スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ

投稿するにはまず登録を
 
Copyright (C) 2003 FLASH-japan. All rights reserved.
Powered by Xoops