我的主舞台上已经放置了 2 个 TLF 文本框。在属性检查器窗口中,我给这些实例名称:“txt1”和“txt2”。
我试图有一个 mouseup 事件,并找出它发生在哪个文本框上。
我的文档类有以下代码:
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 将它们识别为“txt1”和“txt2”而不是“instance#”。我尝试设置 .name 属性,但没有效果。
在发布设置中,我选中了“自动声明阶段实例”。
此外,是否可以为多个滑块组件设置一个更改事件?以下永远不会触发:
root.addEventListener(SliderEvent.CHANGE, sliderChanged,false,0,true);
感谢您的任何提示