У меня есть 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);
Спасибо за любые советы