Paper.path()
シンプルなテクスチャで満たされた Raphael があります。
var fill = screen.path(Iso.topFacePath(top)).attr({
fill: 'url(http://www.example.com/mytexture.jpg)',
});
パスは、ユーザーがドラッグ アンド ドロップで変更できます。このためElement.drag()
に、ハンドラーをバインドするために使用します。
私が今直面している問題は、onmove
-handler 関数が呼び出されている間に、問題の要素が再計算され、再度描画する必要があることです。どうやらこれは raphael にとって「多すぎる」ため、塗りつぶしパターンがランダムに消え (ちらつき)、しばらくしてから (遅くともonend
) 再び表示されます。
私が使用する実際のコードは、ここに投稿するには多すぎますが、何が起こっているかを確認できるフィドルを作成しました (四角形の上部をドラッグできます)。
これに対する簡単な修正はありますか?
私はラファエルよりもはるかにキャンバスに慣れています(実際、ラファエルを実際に使用するのはこれが初めてです)ので、sthが変更されるたびにすべてを再描画するという私のアプローチは明らかに間違っていますか?
編集:ブラウザに関連しているように見えることがわかりました。Chrome と Firefox ではちらつきが発生し、Safari では問題なく動作しているように見えます。