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

パスワード:


パスワード紛失

新規登録
メインメニュー
メイン
   とにかくFLASH【FLASHに関して全般】
     コンポーネントパラメータについて
投稿するにはまず登録を

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
minor
Åê¹ÆNo.6145
投稿日時: 2004-4-9 17:46
新米
居住地: 大阪
投稿: 19
使用環境:
2kPro or XP & IE6
2004Pro or MX
コンポーネントパラメータについて
こんにちは、minorです。

V2アーキテクチャでのコンポーネント作成をしているのですが、
コンポーネントパラメータの設定?でどうしてもわからない部分が
出てきましたので、ご教授願います。

以下のようなコードで、メタデータタグのInspectableでパラメータを設定していき、
それぞれのパラメータにgetter,setterを設定しています。
import mx.core.UIComponent
class test extends UIComponent {

var __aaa
var __bbb
var __ccc

[Inspectable ( defaultValue=1 , type=Number ) ]
public function get aaa () {
	return __aaa
}
public function set aaa ( val ) {
	__aaa = val
	trace("aaa")
}

[Inspectable ( defaultValue=2 , type=Number ) ]
public function get bbb () {
	return __bbb
}
public function set bbb ( val ) {
	__bbb = val
	trace("bbb")
}

[Inspectable ( defaultValue=3 , type=Number ) ]
public function get ccc () {
	return __ccc
}
public function set ccc ( val ) {
	__ccc = val
	trace("ccc")
}

function test() {}

}

これで問題なくコンポーネントパラメータとして設定は出来るのですが・・・次が問題です。

1)SWCに変換し、コンポーネントパネルから、新規ファイルに作成したコンポーネントを配置します。
2)aaa,bbb,cccのパラメータのうちどれか一つのパラメータを変更する。

すると、設定した全てのパラメータのsetterが呼ばれ、出力ウィンドウには

//出力ウィンドウ
ccc
bbb
aaa
ccc
bbb
aaa

と出力されてしまいます。

どういう理由で全てのsetterが呼ばれているのかが検討もつきません。
これでずっと今日一日悩んでしまっています。
もともとこういう仕様なのかも・・・?

パラメータを設定された段階でオブジェクトの再描画を行いたいのですが、
実際に作成しているコンポーネントはもっとパラメータが多く(10個以上)
一箇所のパラメータが設定が変更されただけで10回も再描画を行うことになり
激重状態となっています。

また、コンポーネントパネルからステージ上に配置した段階でもsetterが呼ばれているようで、
コチラも合わせてどうにかならないかな?と思っています。

UIComponentクラスの仕様等も絡んでいるのかと思い、いろいろ見てみたのですが
僕には見つけることが出来ませんでした。

いろいろゴチャゴチャ書かせていただきましたが、最終的に実現したいのは
「パラメータ変更した時点での、オブジェクトの再描画です」

ご教授の方宜しくお願いいたします。
takiguchi
Åê¹ÆNo.6151
投稿日時: 2004-4-9 23:25
半人前
居住地: 東京
投稿: 38
使用環境:
Win2K,FlashMX2004Pro7.0.1
Re: コンポーネントパラメータについて
 こんばんは。
 過去のスレッドで[AS2]暗黙的な取得 / 設定メソッドでsetするとgetメソッドも実行されてしまう。。とかInspectable Getters and Setters and Live Preview等の情報は役に立つでしょうか?
 また、再描画についてですが、UIComponentを継承するならばinvalidate()を呼べば次フレームでredraw()が呼ばれると思います。こちらはMMのサイトが参考になるのではないでしょうか?
minor
Åê¹ÆNo.6189
投稿日時: 2004-4-12 10:07
新米
居住地: 大阪
投稿: 19
使用環境:
2kPro or XP & IE6
2004Pro or MX
Re: コンポーネントパラメータについて
takiguchiさん、こんにちは、返信が遅くなり申し訳ありません。
ご回答ありがとうございます。

setするとgetメソッドが呼ばれるというのは、真っ先に疑って考えてみましたがどうもそれとは違う様子です。
この場合は、setと同時にgetが呼ばれても問題ないです。

ずっとMMサイトを参考にして作成してますが、どうもこのあたりの説明がされておらず、ちょっと悩んでいます。

が、Inspectable Getters and Setters and Live Previewコチラのサイトは確信ついているっぽいので、ぜひ参考にさせていただきます。(英語苦手なんでまだ全て呼んでいませんが^^;

情報提供ありがとうございました。
また機会があれば宜しくお願いいたします。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ

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