メイン ステージに既に 2 つの TLF テキスト ボックスが配置されています。プロパティ インスペクタ ウィンドウで、これらに「txt1」と「txt2」というインスタンス名を付けます。
私は単一のマウスアップイベントを作成しようとしており、それが発生したテキストボックスを見つけようとしています。
私のドキュメント クラスには次のコードがあります。
package {
import flash.display.Sprite;
import flash.events.KeyboardEvent;
public class SingleEvent extends Sprite{
public function SingleEvent() {
// constructor code
root.addEventListener(KeyboardEvent.KEY_UP, textChanged,false,0,true);
}
private function textChanged(e:KeyboardEvent){
trace(e.target.name);
trace(" " + e.target);
switch(e.target){
case txt1:
trace("txt1 is active");
break;
case txt2:
trace("txt2 is active");
break;
default:
break;
}
}
}
}
出力例は次のとおりです。
instance15
[object Sprite]
instance21
[object Sprite]
オブジェクトはすでにステージ上にあるため、Flash にオブジェクトを「instance#」ではなく「txt1」および「txt2」として認識させる方法がわかりません。.name プロパティを設定しようとしましたが、効果がありませんでした。
パブリッシュ設定で、「ステージインスタンスを自動的に宣言する」にチェックを入れました。
また、複数のスライダー コンポーネントに対して単一の変更イベントを設定することは可能ですか? 以下は決して発火しません:
root.addEventListener(SliderEvent.CHANGE, sliderChanged,false,0,true);
ヒントをありがとう