【发布时间】:2012-07-12 12:20:42
【问题描述】:
我在 Raphael 中确实有一个 Paper.path(),其中填充了简单的纹理:
var fill = screen.path(Iso.topFacePath(top)).attr({
fill: 'url(http://www.example.com/mytexture.jpg)',
});
用户可以通过拖放更改路径。为此,我使用Element.drag() 绑定处理程序。
我现在遇到的问题是,当调用onmove-handler 函数时,相关元素将被重新计算并且必须再次绘制。显然这对 raphael 来说“太多”了,填充图案会随机消失(闪烁)并在一段时间后再次出现(最迟 onend)。
我使用的实际代码有点过多,无法在此处发布,但我构建了一个 fiddle,您可以在其中看到发生了什么(您可以拖动四边形的上边)。
有没有简单的解决办法?
我习惯于画布比拉斐尔更多(实际上这是我第一次真正使用拉斐尔)所以也许我每次改变时重绘所有东西的方法是完全错误的?
编辑:我刚刚发现这似乎也与浏览器相关。 Chrome 和 Firefox 会产生闪烁,而 Safari 似乎一切正常。
【问题讨论】:
标签: javascript raphael