Apache flex 从DisplayObject继承属性

Apache flex 从DisplayObject继承属性,apache-flex,actionscript-3,Apache Flex,Actionscript 3,关于as3项目: 是否有方法继承给定DisplayObject的属性? 我正在寻找一个单一的方法,将抓取像x,y,宽度,高度,颜色等东西。 两个显示对象之间的公共类中涉及的内容 编辑: 我想我还不够清楚。。。让我举一个我正在寻找的功能类型的例子 var sp1:Sprite = new Sprite(); sp1.x = 30; sp1.y = 30; sp1.width = 500; sp1.height = 30; var tf1:TextField = new TextField();

关于as3项目: 是否有方法继承给定DisplayObject的属性? 我正在寻找一个单一的方法,将抓取像x,y,宽度,高度,颜色等东西。 两个显示对象之间的公共类中涉及的内容

编辑:

我想我还不够清楚。。。让我举一个我正在寻找的功能类型的例子

var sp1:Sprite = new Sprite();
sp1.x = 30;
sp1.y = 30;
sp1.width = 500;
sp1.height = 30;
var tf1:TextField = new TextField();
tf1.inheritTransform(sp1);
因此,在本例中,我知道“inheritTransform()”方法不存在,但我想知道是否存在类似的情况。 或者也许我在某种程度上忽略了扩展类的意义? 在这种情况下,我看不出两者之间有什么关系

谢谢,
jml

Actionscript 3语言参考说明:
DisplayObject类本身不包含任何用于在屏幕上呈现内容的API。因此,如果要创建DisplayObject类的自定义子类,则需要扩展其中一个子类,该子类具有用于在屏幕上呈现内容的API,例如Shape、Sprite、Bitmap、SimpleButton、TextField或MovieClip类。

首先,
TextField
是一个DisplayObject,它有
x
y
宽度
高度

但是,如果我错了,请纠正我,如果您不想将属性从一个DisplayObject(或任何对象)复制到另一个DisplayObject,您可以手动执行,我认为没有“自动”方式来执行此操作。您可以使用原型(或预置)来实现这一点,但您必须实现它

不能在运行时继承属性的值,只能继承属性本身,但不能继承其值(如果属性是实例属性,如
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)
另一个可能对您有所帮助的是
DisplayObject
类的
transform
属性,该
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:对不起,我的英语不好

编辑:


您只能将
addChild
(和
removeChild
)与
DisplayObjectContainer
一起使用,请参见

我更新了我问题的内容-希望这能澄清我的意图。这里的帮助非常好。信息量很大。。。如果其他人发现还有另一种更“自动”的方法,我会很感兴趣。还有,是否有办法让.transform方法正常工作。我认为现在,whateverDisplayObject.addChild(otherDisplayObject)必须要做,并且在xy方面工作得相当好。问题是每个DisplayObject都有自己的坐标系,所以当你将一个坐标系添加到另一个坐标系时(只有DisplayObjectContainer可以这样做)孩子们现在在他们父亲的坐标系中,因此变换的矩阵是串联的(记住矩阵有
x
y
scaleX
scaleY
旋转