Обновленный ответ:
У меня есть два решения для вас, но одно требует, чтобы у вас был только один TextField в кнопке и никаких других объектов.
1
Если у вас есть только один TextField в вашей кнопке, тогда свойство upState
вашей кнопки будет TextField, и вы можете напрямую установить его текстовое свойство:
myButton.upState.text = "Click Me";
myButton.downState.text = "Click Me";
myButton.overState.text = "Click Me";
2
Если первая техника не применима к вам, решение будет немного сложнее.
Сначала создайте мувиклип в своей библиотеке, содержащий текущее содержимое фрейма вверх вашей кнопки. Установите его для экспорта и присвойте ему имя класса (TextHolder
). Затем вы можете создать объект TextHolder, установить его текстовое свойство textLabel и назначить его каждому состоянию кнопки:
var buttonState:TextHolder = new TextHolder();
buttonState.myText.text = "Click me";
myButton.upState = myButton.downState = myButton.overState = myButton.hitTestState = buttonState;
Если вы хотите создать разные состояния, скажем, с разноцветным текстом, вам придется создавать разные объекты для разных состояний:
var buttonState:TextHolder = new TextHolder();
var buttonStateOver:TextHolder = new TextHolder();
buttonState.myText.text = buttonStateOver.myText.text = "Hello";
buttonStateOver.x = 10;
myButton.upState = buttonState;
myButton.hitTestState = buttonState;
myButton.downState = myButton.overState = buttonStateOver;