我正在尝试动态更改Sprite对象的width
和height
,这是其他类似Sprite对象的容器。容器对象根据其子项的大小自动更改其大小,但是当我更改子对象的位置时,容器的大小保持不变,并且它的子项似乎放在容器外。
我尝试使用类似的方法来解决这个问题:
if (container.width < (child.x + child.width))
{
container.width = (child.x + child.width);
}
但是,当我使用此代码时,容器对象的子项将被缩放 有没有办法改变容器的大小而不缩放它的孩子?
答案 0 :(得分:5)
直接不可能,精灵的大小取决于其内容的界限。因此,唯一的选择是调整精灵的孩子大小,或者将假孩子放在x: 0
,y: 0
上(假设这将是您想要的定位点)。< / p>
内容边界的坐标不会像您期望的那样被考虑在内,例如当100 x 100px
的一个孩子放在x: 50, y: 50
上时,父母的大小仍然是{{1 }},而不是100 x 100px
。
在150 x 150px
上添加100 x 100px
的另一个孩子会增加x: 0, y: 0
的界限,因为它现在从第一个孩子150 x 150
开始,到第二个孩子{{1}结束} + x: 0, y: 0
。