4

我正在尝试动态更改 Sprite 对象的widthand height,该对象是其他类似 Sprite 对象的容器。容器对象会根据其子对象的大小自动更改其大小,但是当我更改子对象的位置时,容器的大小保持不变,并且它的子对象似乎被放置在容器之外。

我试图通过使用这样的东西来解决这个问题:

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

但是当我使用这段代码时,容器对象的子对象会被缩放。
有没有办法改变容器的大小而不缩放它的孩子?

4

1 回答 1

5

这不可能直接实现,精灵的大小取决于其内容的范围。所以唯一的选择是调整精灵的孩子的大小,或者在x: 0,上放置一个虚拟孩子y: 0 (假设这将是您想要的锚点)

如您所料,内容边界的坐标没有被考虑在内,例如,当有一个100 x 100px放置在 上x: 50, y: 50的孩子时,父母的大小仍然是100 x 100px,而不是150 x 150px

100 x 100px添加on的另一个孩子x: 0, y: 0会增加 到 的范围150 x 150,因为它现在从孩子一开始,x: 0, y: 0在孩子二x: 50, y: 50+结束100 x 100px

内容界限

于 2012-10-01T21:35:17.393 回答