2010-12-12 14 views
0

基本的に私はアイテムを追加し、ドラッグアンドドロップが必要なクラスを持っています。私は、単にthis.x = somethingによってすべてのcontianerクラスのx値を変更します。AS3が親のx値を変更しても、その子にx変更は適用されませんか?

ドラッグアンドドロップすると、すべてのアイテムが画面上をスライドします。コンテナクラスのx値をトレースすると変更されましたが、アイテムのx値は同じままでした(ただし、x値は画面上では変わりましたが)。誰もがこれについていくつかのヒントを持っていますか?

ありがとうございます!

+5

子供は、そのコンテナ内で同じx位置にあります。グローバル座標ではなくローカル座標をトレースしているため、値は変更されません。 localToGloabal()(http://help.adobe.com/jp/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それぞれ –

+0

ありがとう、私はそれを見ていきます。現時点ではforループの項目のx値を変更します。しかし、私はアイテムをドラッグアンドドロップするたびにそのループを回避することを望んでいることを見ていきます。 –

答えて

0
var childActualX : Number = container.x + child.x; 
関連する問題