【问题标题】:Raphael JS move/rotate group of drawings as one?Raphael JS 将一组图纸作为一个整体移动/旋转?
【发布时间】:2013-05-01 16:24:38
【问题描述】:

我有一个小工具,可以绘制一个圆圈网格(代表孔),允许用户向这些圆圈添加文本和线条。现在我已经设置好了,所以如果用户单击任何孔,那么无论孔移动到哪里,Paper 对象上的所有其他元素也是如此。我接下来要实现的是将所有内容作为一个对象旋转的能力。我意识到,要让它工作,我需要知道所有对象的中心点,我很容易得到。
我想知道的是我是否应该在另一个对象上绘制所有内容。该对象将充当另一个 Paper 对象,但仅用于移动和旋转。在对象上绘制的孔上的任何单击事件都将传递给父级(即所有都绘制在伪纸对象上)。这可能吗?如果是这样,我将如何将所有内容绘制到矩形上?如果不是,那么实施它的最佳方式是什么?

【问题讨论】:

  • 每个洞都有自己的纸吗?一个 jsfiddle 链接会很有帮助

标签: javascript animation rotation raphael


【解决方案1】:

您需要的是Set。您创建它,将对象推送给它,然后将其视为一个完整的组,在您的情况下,通过应用转换。

例子:

var elements = paper.set();

if (!view.text) {
    view.text = App.R.text(0, 0, this.value);
    view.text.attr({
        'font-size': font_size,
    });
    elements.push(view.text);
}
elements.transform('something');

请注意,您还可以将事件绑定到整个集合。

【讨论】:

  • 谢谢!这正是我所需要的
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-07-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多