代码之家  ›  专栏  ›  技术社区  ›  marianboda

Flex Spark titlewindows拖动时重绘错误

  •  0
  • marianboda  · 技术社区  · 14 年前

    我在flex 4中有一个重绘问题。我有一个spark titleWindow,如果我拖得快一点,它的mask看起来比组件晚一帧。

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

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

    在我的电脑上,我在谷歌上找到的每一个spark TitleWindow上都能看到它,尽管它在对比度较低的皮肤、没有边框或阴影的情况下更不可见。

    我还打开了flash播放器中的重画区域,看起来在titlewindow之后也晚了一帧。

    有人知道它为什么要这样做吗?我怎样才能阻止它?

    更新:

    1 回复  |  直到 9 年前
        1
  •  2
  •   janPrazma    14 年前

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

    我的问题是,我试图将组件“component.x=(parent.width-component.width)/2”居中,然后以编程方式绘制该组件。问题是,component.x是一个可以产生10.5或类似浮点值的数字。看起来bitmapFill函数的rounds与drawRect函数的float不同,drawRect函数精确地围绕对象生成1px线(但仅当parent.width是奇数时)。奇怪的是,我只调用了一次Draw函数,但这条线仍然在重复。。。

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

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

    简·普拉兹马