我正在尝试使用ScrollRect为Sprite添加一些滚动条。 Sprite开始为空,当我在500,500处添加一些东西时,它应该滚动,因为它在视口之外。不幸的是,在500,500处添加一个10x10 Sprite并不能让我的Sprite将其大小更改为510,510,而是将其10,10改为:: - (。
我们都知道DisplayObjectContainers根据放入的内容调整大小。但直到今天我才知道,如果你把东西放在500,500,那么Sprite / DObjContainer将不会从0,0到500,500调整,而只是直接跳到500,500.很烦人,因为我不能放内容波动的内容的滚动条。我需要0,0保持0,0,如果有东西放在500,500,精灵的高度应该增加500 +那个高度。
想法?洞察?
提前谢谢:: - D,Scrollmasters :: - D。
答案 0 :(得分:1)
快速修复,也许不是太优雅...在Sprite中添加一个固定高度为500的Shape并将alpha设置为0或将其用于漂亮的彩色背景:)
答案 1 :(得分:1)
我是这样做的:
Container (sprite)
scrollbars
content (sprite with scrollrect)
在内容精灵中,绘制一个矩形以使其具有完整大小。
答案 2 :(得分:1)
这不会改变Sprite的高度/宽度,所以我不确定它会对你有所帮助。但是如果您控制滚动的代码,您可以通过获取对象并添加x + width和y + height来计算对象的大小(考虑其原点始终为0,0)。这样的事情。
var rect:Rectangle = sp.getBounds(sp);
var w:Number = Math.abs(rect.x) + rect.width;
var h:Number = Math.abs(rect.y) + rect.height;
我正在使用Math.abs
以防您在负偏移处添加子项,但是根据您的描述并非如此,因此您可以避免该步骤。