我有一组几种形状,每种形状都以不同的速率缩放。
当使用
将集转换为另一个点时set.transform("tp1,p2")
形状重新缩放到正常尺寸。对于每个缩放的形状 在原始尺寸的不同比例,我不能给出规模 set.transform的选项。
如何在transform()期间保留set中每个项目的缩放?
我在代码中的问题:
答案 0 :(得分:1)
Raphael处理这个问题的不完美方法是允许转换指令在转换序列之前(使用“directive ...”)或附加到转换序列(使用“... directive”)。在您的情况下,实现您所需效果的最简单方法是在setTimeout函数中添加所需的相对变换。
var paper = Raphael("paper", 200, 200);
var s = paper.set(),
r = paper.rect(0,0,30,30).attr({"fill":"green"}).transform("t27,30s0.2"),
r2 = paper.rect(40,0,30,30).attr({"fill":"red"}).transform("t27,30s0.4");
s.push(r,r2);
setTimeout(function(){
s.transform("t100,150..."); // here 'tis
}, 2000);
变换(“t100,150 ...”)基本上将所需的translate插入到集合中每个元素的变换字符串的开头。因此,r
的变换累计评估为“t127,180s0.2”,r2
变为“t127,180s0.4”。