我对集合以及如何应用转换有疑问。我来自图形背景,所以我熟悉场景图以及正常的 SVG 组语法,但 Raphael 让我感到困惑。假设我有一个圆圈和一组,我想在其上应用变换。
circle = paper.circle(0,0.5)
set = paper.set()
如果我先添加圆圈,然后进行变换,它就可以了。
set.push circle
set.transform("s100,100")
做一个50半径的圆。但是,如果我颠倒顺序,
set.transform("s100,100")
set.push circle
不应用转换。
这似乎会破坏许多渲染和动画类型算法,您的组/变换保持您的关节状态,并且您向它们添加或删除对象,而不是每次都重新创建整个变换。文档中是否有一个选项我没有看到可以解决这个问题,或者为了简单而放弃了这个功能?缺少它似乎很奇怪,因为它在 SVG 本身的组层次结构中直接且容易地得到支持......我是否需要手动将集合中的转换应用于转换集合后添加的任何子项?