Поскольку у меня есть FlashDevelop, я могу только показать вам, как все делать программно.
Если вы имеете дело с Sprite
объектом (который я рекомендую), то следующим образом вы получаете доступ к TextField
в Sprite
объекте:
var textField:TextField = new TextField();
textField.name = "textField";
textField.mouseEnabled = false;
var rectangleShape:Shape = new Shape();
rectangleShape.graphics.beginFill(0xFF0000);
rectangleShape.graphics.drawRect(0, 0, 100, 25);
rectangleShape.graphics.endFill();
var buttonSprite:Sprite = new Sprite();
buttonSprite.addChild(rectangleShape);
buttonSprite.addChild(textField);
addChild(buttonSprite);
var tf:TextField = TextField(buttonSprite.getChildByName("textField"));
tf.text = "button sprite text";
Сначала создается экземпляр объекта TextField
с именем textField
, а его свойству name
присваивается строка "textField", которая совпадает с настройкой имени экземпляра.
Затем создается объект Shape
с именем rectangleShape
, который графически конфигурируется так, чтобы выглядеть как простой красный прямоугольник.
Затем создается экземпляр экранного объекта Sprite
с именем buttonSprite
и к нему добавляются экранные объекты textField
и rectangleShape
. Затем на сцену добавляется контейнер экранного объекта Sprite
.
Наконец, вызывается метод getChildByName()
контейнера buttonSprite
контейнера экранного объекта и возвращает экранный объект textField
. Для этого в качестве аргумента методов getChildByName()
необходимо указать свойство name экранного объекта textField
. Затем возвращенный объект textField
сохраняется в локальном TextField
объекте с именем tf
, который теперь дает вам доступ к textField
.
[UPDATE]
Ниже приведен подход к доступу к объекту TextField
через объект SimpleButton
, который аналогичен обращению к нему через объект Sprite
(хотя я не рекомендую это):
var textField:TextField = new TextField();
textField.name = "textField";
textField.mouseEnabled = false;
var rectangleShape:Shape = new Shape();
rectangleShape.graphics.beginFill(0xFF0000);
rectangleShape.graphics.drawRect(0, 0, 100, 25);
rectangleShape.graphics.endFill();
var simpleButtonSprite:Sprite = new Sprite();
simpleButtonSprite.name = "simpleButtonSprite";
simpleButtonSprite.addChild(rectangleShape);
simpleButtonSprite.addChild(textField);
var simpleButton:SimpleButton = new SimpleButton();
simpleButton.upState = simpleButtonSprite;
simpleButton.overState = simpleButtonSprite;
simpleButton.downState = simpleButtonSprite;
simpleButton.hitTestState = simpleButtonSprite;
addChild(simpleButton);
// local simpleButtonSprite object
var sbs:DisplayObjectContainer = DisplayObjectContainer(simpleButton.upState);
//local textField object
var tf:TextField = TextField(sbs.getChildByName("textField"));
tf.text = "simple button text ";