0

我目前正在将 KineticJS 用于窗口填充画布应用程序。画布包含几个主要相对于屏幕中心定位的形状,尽管还会出现几个其他形状,它们将位于屏幕边缘。

在第一次显示页面时计算所有这些坐标不是问题,但我还没有找到在调整窗口大小之后/时处理形状坐标的方法。

通过 jQuery,在调整窗口大小时会调整舞台及其图层的大小,但由于这不会改变形状的坐标,因此以前居中的项目不再居中。

我真的需要遍历每一个形状并重新计算它们的坐标吗?并非微不足道,因为它们是用不同的公式计算的。

旁注,我通过直接访问 Canvas(= w/o KineticJS)实现了相同的应用程序,并且仅通过重新渲染整个画布来处理调整大小;)由于渲染方法包括坐标计算,所以一切总是在正确的位置.

4

1 回答 1

0

我通过为所有图层定义偏移量并在窗口调整大小发生后重新计算这些偏移量来解决我的问题。尽管并不完美,但计算 8 个值 (4 * x+y) 远比计算数百个值好得多。

如果有人知道更好的解决方案,我仍然会感兴趣。;)

于 2013-03-12T22:52:26.843 回答