13 Stimmen

Ereignis, wenn sich zwei SVG-Elemente berühren

Ist es in SVG möglich, mit einer beliebigen Methode ein even aufzurufen, wenn sich zwei bestimmte Elemente berühren? Oder müsste ich den langen Weg programmieren und mit komplizierter Mathematik herausfinden, ob sich ihre Grenzen berühren?

14voto

Erik Dahlström Punkte 56921

Im SVG 1.1 DOM gibt es vier Methoden für die Behandlung von Schnittpunkten im äußersten SVG-Element:

  1. getIntersectionList
  2. getEnclosureList
  3. checkIntersection
  4. checkEnclosure

Leider denke ich, dass die browserübergreifende Unterstützung für diese Methoden immer noch nicht sehr gut ist.

2voto

Mike Baranczak Punkte 8043

Ich glaube nicht, dass es irgendwelche eingebauten Methoden gibt, aber dieser Typ hat eine Javascript-Bibliothek geschrieben, die Kollisionen erkennt:

http://www.kevlindev.com/geometry/2D/intersections/index.htm

Sieht ziemlich schick aus. Es funktioniert nicht in Firefox 3.6, aber funktioniert in Chrome.

EDIT:

OK, es gibt tatsächlich ist eine eingebaute Methode aber ich weiß nicht, ob es auf etwas anderes als Rechtecke angewendet werden kann. Erik Dahlström, der Autor dieses Beitrags, treibt sich auf Stackoverflow herum, vielleicht hat er etwas dazu zu sagen.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X