それぞれ異なるレートでスケーリングされたいくつかの形状のセットがあります。
セットがを使用して別のポイントに変換されたとき
set.transform("tp1,p2")
形状は通常のサイズに再スケーリングされます。元のサイズのさまざまな比率で拡大縮小された図形ごとに、set.transformに拡大縮小オプションを指定することはできません。
transform()中にセット内の各アイテムのスケーリングを保持するにはどうすればよいですか?
コードでの私の質問:
それぞれ異なるレートでスケーリングされたいくつかの形状のセットがあります。
セットがを使用して別のポイントに変換されたとき
set.transform("tp1,p2")
形状は通常のサイズに再スケーリングされます。元のサイズのさまざまな比率で拡大縮小された図形ごとに、set.transformに拡大縮小オプションを指定することはできません。
transform()中にセット内の各アイテムのスケーリングを保持するにはどうすればよいですか?
コードでの私の質問:
これに対処する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);
transform( "t100,150 ...")は、基本的に、セット内の各要素の変換文字列の先頭に目的の翻訳を挿入します。したがって、r
's変換は累積的に「t127,180s0.2」と評価され、r2
'sは「t127,180s0.4」になります。