0

私が望むのは、マウスのクリックまたは目的の位置へのドラッグを使用して、この動きを知らせることができることです

var drawingArea = Raphael(10,10,400,400);
var circle = drawingArea.circle(200,200,15);
circle.attr({fill:'blue', stroke:'red'});
var animation = Raphael.animation({cx:30, cy:30}, 5000);
circle.animate(animation);
4

2 に答える 2

0

マウスからのドラッグに続いて目的の位置にドラッグする場合は、(アニメーションを使用する代わりに) その座標を操作する必要があります。drag()関数を使用すると、ドラッグの開始、ドラッグの終了、およびドラッグ中の移動のイベントのコールバックを設定できます。

これを行うための 1 つの手法は、開始時に元の位置を保存し、移動時に更新することです。

var start = function () {
    this.ox = this.attr("cx");
    this.oy = this.attr("cy");
};
var move = function (dx, dy) {
    this.attr({cx: this.ox + dx, cy: this.oy + dy});
};
circle.drag(move, start);

Raphael.js の Web サイトで、これを使用したサンプル コードを確認できます。

于 2013-10-01T22:58:29.240 に答える
0

イベント ハンドラーを使用できます。

circle.click(function() {
    circle.animate(animation);
});
于 2013-09-30T20:06:06.067 に答える