0

ReadySetRaphael ツールを使用して InkScape から SVG をインポートしました。svg をアニメーション化し、それを緩和したかったので、テスト目的で、animate メソッドを使用して変換しようとしました。

オブジェクトに「アニメーション」のメソッドがないというエラーが表示され続けます。オブジェクトのクローンを作成して最終パスを設定する必要があることを示唆する他のSOの回答を確認しましたが、そうするかどうか、またはそれがどのように私に適用されるかはわかりませんか?

これまでの私のjsコードは次のとおりです。

//code created using readysetraphael. Original svg made in inkscape.
var rsr = Raphael('rsr', '744.09448', '1052.3622');

var layer1 = rsr.set();
var path2993 = rsr.path("m 344.93716,348.36218 c 0,0 34.17415,-33.06016 -1.26571,-83.92195 -35.43985,-50.86178 39.23699,-38.14634 6.32855,-91.55121 -32.90844,-53.40487 -50.62837,-36.8748 -50.62837,-36.8748 -9.49282,-0.63577 -8.85996,-0.63577 -8.85996,-0.63577");
path2993.attr({
    id: 'path2993',
    parent: 'layer1',
    fill: 'none',
    stroke: '#cf0000',
    "stroke-width": '2.92',
    "stroke-linecap": 'butt',
    "stroke-linejoin": 'miter',
    "stroke-miterlimit": '4',
    "stroke-opacity": '1',
    "stroke-dasharray": 'none',
    "marker-start": 'none',
    "marker-mid": 'none',
    "marker-end": 'url(#TriangleInL)'
}).data('id', 'path2993');
layer1.attr({
    'id': 'layer1',
    'name': 'layer1'
});

var rsrGroups = [layer1];

//Animate svg
rsr.animate({
    transform: 's2'
}, 2000);
4

1 に答える 1

1

コードは、紙のオブジェクトを介してアニメーション呼び出しをプルします。animate()は のメンバーであるElementため、呼び出しは失敗します。

たとえば、特定の形状をアニメーション化しようとしていると思いますpath2993。代わりに、関連する要素で呼び出すだけです。

path2993.animate({transform: 's2'}, 2000);
于 2013-02-03T10:10:41.417 に答える