1

全て、

ここでの私の投稿に加えて、

@Phrogz は、国境を特定し、制限を適用する必要性について、Kevin Lindsey のライブラリを調べることを提案しました。このライブラリを使用した経験のある人はいますか?

問題: Web アプリケーションには、SVG パスで作成されたオブジェクトがあります。このオブジェクト内に他のオブジェクトをドラッグ アンド ドロップする機能を実装しようとしていますが、オブジェクトをこの SVG オブジェクトの外にドロップできないように制限する必要があります。

Phrogz の推奨により、これを調査しましたが、オブジェクトを渡す方法を理解するのに苦労しています。オブジェクトをパス文字列として渡すか、SVG オブジェクトとして渡すか。

エラー: 現時点では出力が得られず、通過するオブジェクトを受け入れるかどうかさえわかりません。

これは非常に未解決の質問であり、Kevin のライブラリ/その仕組み/機能について 1 つまたは 2 つ知っている可能性のある個人からの連絡を特に待ち望んでいます。

乾杯

4

1 に答える 1

0

これがあなたにとってどれほどのパフォーマンスを発揮するかはわかりません。このライブラリは、概念実証として、また高次曲線の交差について自分自身を教育するために作成しました。そうは言っても、ライブラリから Path のインスタンスをインスタンス化しようとしていると思いますか? その場合は、次のユーティリティから loadShapes を見てください。

https://github.com/thelonious/js-intersections/blob/master/samples/IntersectionUtilities.js

これは、たとえば、このファイルを処理するときに開始時に呼び出されます。

https://github.com/thelonious/js-intersections/blob/master/samples/intersect_bezier3_rect.svg

カスタム gui:edit 属性を使用して処理する項目にタグを付けていることに注意してください。それはきちんとしていますが、私はこれを何年も前に(8+)書いたので、最先端の技術にはより良い技術があると確信していますが、脱線します。重要なことは、ノード タイプのクラスを使用して各シェイプ タイプをインスタンス化する必要があるということです。交差を確認するたびに、Intersection.intersectShapes(node1, node2) を呼び出す必要があります。これにより、交差点やメモがあったかどうかを知らせる status 属性を持つオブジェクトが返されます。これはすべて改善できると確信しています。コードは、フォーク、修正、および改善したい人のために github にアップされています :)

https://github.com/thelonious/js-intersections https://github.com/thelonious/svg-2d

HTH、ケビン

于 2011-07-18T21:56:17.643 に答える