Показать сообщение отдельно
Старый 30.04.2011, 23:02
expl вне форума Посмотреть профиль Отправить личное сообщение для expl Найти все сообщения от expl
  № 11  
Ответить с цитированием
expl

блогер
Регистрация: Feb 2006
Сообщений: 1,474
Записей в блоге: 3
Всё как раз продумано, у кнопки есть доступ к дисплей-объектам, реализующим каждое состояние, например
Код AS3:
button.overState// тип DisplayObject
По-идее, если вы туда текст влепили можно скастовать к Sprite, найти там текст-филд и поменять текст
Не уверен, правда, что при переходе между состояниями текст сохранится. Если программно эти состояния назначаешь - всё нормально.
Код AS3:
(button.upState as Sprite).getChildByName("tf").text = "Button";
(button.overState as Sprite).getChildByName("tf").text = "Button";
(button.downState as Sprite).getChildByName("tf").text = "Button";
Update

На самом деле все несколько по-другому:
Код AS3:
button.addEventListener(MouseEvent.CLICK, onButtonClick);
var numClicks:int = 0;
function onButtonClick(event:MouseEvent):void
{
	numClicks++;
	var newText:String = "Clicks:" + numClicks;
	((button.upState as Sprite).getChildAt(1) as TextField).text = newText;
	((button.overState as Sprite).getChildAt(1) as TextField).text = newText;
	((button.downState as Sprite).getChildAt(1) as TextField).text = newText;
}
Пример (как обратиться к текст-филду по имени, а не по индексу - так и не понял):
button_text_change_example.zip


Последний раз редактировалось expl; 01.05.2011 в 00:20.