2010-12-12 28 views
0

所以基本上我有一个类添加项目,需要拖放。我只是通过this改变整个合作者类的x值。=AS3更改父项的x值不会将x更改应用于其子项?

通过在屏幕上拖放所有项目。当我跟踪容器类的x值时,它已经改变了,但是项目的x值保持不变(尽管它们在屏幕上的x值肯定改变了)。任何人都有这方面的一些提示?

谢谢!

+5

孩子在他们的容器内具有相同的x位置。该值不会更改,因为您正在追踪本地坐标,而不是全局坐标。看看localToGloabal()(http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/display/DisplayObject.html?filter_flex=4.1&filter_flashplayer=10.1&filter_air=2#localToGlobal())您也可以通过将容器的位置添加到项目的位置来手动获取绝对位置,或者可以检查变换矩阵:container.item.transform.concatenatedMatrix.tx/ty分别为 – 2010-12-12 16:02:25

+0

谢谢,我会研究一下。目前我改变了for循环中的项目的x值。但我会考虑希望避免每次拖放项目时都要经历这个循环。 – 2010-12-12 16:12:08

回答

0
var childActualX : Number = container.x + child.x;