Flex Spark TitleWindow在拖动时重绘不好

时间:2010-05-11 16:16:41

标签: flex flex4

我在flex 4中重绘了一个问题。我有一个spark titleWindow,如果我拖得更快,看起来它的掩码是组件之后的一帧。 使用1像素的薄边框很容易看到它,因为即使运动较慢,它也会变得不可见。

你可以在这里试试(不是我的页面,但是在这里展示比上传示例更容易):

http://flexponential.com/2010/01/10/resizable-titlewindow-in-flex-4/

如果向上移动,则会看到顶部边框消失。在另一个方向上它并不那么敏感,因为它有很宽的阴影,并且它在阴影上不是很明显。

在我的电脑上,我在谷歌上发现的所有SparkWindowWindow上看到了它,虽然它的对比度较低,没有边框或有阴影,所以不太明显。

你看到了吗?我从来没有晕圈组件的这个问题。它用不同的皮肤做同样的事情。我试图从皮肤,缓存组件,皮肤甚至应用程序中删除掩码,但没有成功。

我也开启了flash播放器中的重绘区域,看起来它也是在titlewindow之后的一帧。

有谁知道为什么这样做或者我该如何预防?

谢谢

更新:

没有答案?真的?

1 个答案:

答案 0 :(得分:2)

我一直面临着同样的问题,我真的很生气,我找不到任何答案。

我的问题是,我试图将组件“component.x =(parent.width - component.width)/ 2”居中,然后以编程方式绘制该组件。问题是,component.x是一个数字,它可以导致像10.5或类似的浮动值。并且看起来bitmapFill函数的舍入方式与drawRect函数不同,后者完全围绕对象生成1px行(但仅当parent.width是奇数时)。对我来说奇怪的是,我只调用了Draw函数一次,但这条线仍然反复出现......

使用Math.floor(component.x)解决了这个问题。

P.S。:我认为您也可以通过在拖动的对象上设置cacheAsbitmap = true来帮助您解决问题......

干杯, Jan Prazma