Во-первых, TextField
- это объект DisplayObject, поэтому он имеет x
, y
, width
и height
.
Но, поправьте меня, если я ошибаюсь, если вы не хотите "копировать" свойства из одного DisplayObject (или любого объекта) в другой, вы можете сделать это вручную, я думаю, что нет "автоматического" способа сделать это. Вы можете использовать Prototype (или Prefab) для этого, но вы должны реализовать его.
Вы не можете наследовать значение свойства во время выполнения, вы наследуете само свойство, но не его значение (если свойство является свойством Instance, например x
. y
, width
и height
).
И еще, что вы можете сделать, это:
var s:Sprite = new Sprite()
s.x = 125
s.y = 200
var t:TextField = new TextField()
s.addChild(t) // here t transformation matrix is concatenated with s (because now t is inside s coordinate system because is a child of s)
И еще одна вещь, которая может вам помочь, это свойство transform
класса DisplayObject
, которое transform
содержит информацию о положении, повороте и масштабе (в матрице) и информацию о цвете. Это может вам помочь.
В вашем примере вы можете сделать это:
var s:Sprite = new Sprite()
s.x = 30
s.y = 30
s.width = 500
s.height = 30
var t:TextField = new TextField()
t.transform = s.transform // this overrides the transform object, but sadly don't work with the width and height
t.width = s.width
t.height = s.height
PS: простите за мой плохой английский.
EDIT:
Вы можете использовать addChild
(и removeChild
) только с DisplayObjectContainer
, см. http://livedocs.adobe.com/flex/3/html/help.html?content=05_Display_Programming_03.html