4

他の同様のスプライトオブジェクトのコンテナであるスプライトオブジェクトのwidthとを動的に変更しようとしています。heightコンテナオブジェクトは、子のサイズに応じて自動的にサイズを変更しますが、子オブジェクトの位置を変更すると、コンテナのサイズは同じままで、子はコンテナの外側に配置されているように見えます。

私は次のようなものを使用してこの問題を解決しようとしました:

if (container.width < (child.x + child.width))
{
    container.width = (child.x + child.width);
}

しかし、このコードを使用すると、コンテナオブジェクトの子がスケーリングされます。
子をスケーリングせずにコンテナのサイズを変更する方法はありますか?

4

1 に答える 1

5

これは直接不可能です。スプライトのサイズは、その内容の範囲によって異なります。したがって、唯一のオプションは、スプライトの子のサイズを変更するか、ダミーの子をに配置するx: 0ことですy: 0 (これが目的のアンカーポイントであると想定します)

コンテンツ境界の座標は、予想どおりに考慮されません。たとえば100 x 100px、に配置された子が1つある場合x: 50, y: 50、親のサイズはであり100 x 100px、ではありません150 x 150px

100 x 100pxonの子をもう1つ追加するx: 0, y: 0と、境界がに増加します150 x 150。これは、子1で始まり、子2+x: 0, y: 0で終わるためです。x: 50, y: 50100 x 100px

コンテンツの境界

于 2012-10-01T21:35:17.393 に答える