Verhindern Sie Zusammenstoß-oder Schnittpunkt der canvas-Objekte

Ich bin Zeichnung n Rechtecke auf eine Leinwand. Die Rechtecke sind ziehbar und skalierbar.
Ich möchte verhindern, dass Sie überlappen oder schneiden. Der beste Fall ist, wenn Sie nur snap auf einander.

Ich herausgefunden zu überprüfen, um die Kreuzung. In meinem Beispiel habe ich die Deckkraft von sich berührenden Objekten zu 0,1.

Zufällig in meinem Versuch, dieses problem zu lösen, meine Objekte nicht freigegeben, wenn Sie sich berühren, zu einem anderen Objekt. Sehen http://jsfiddle.net/gcollect/jZw7P/
Es ist, weil der Linie 91, wo der alert wird nicht ausgeführt. alert(math.abs(distx));

Eigentlich eine Art von Lösung, aber auf jeden Fall keine elegante.

Irgendwelche Ideen?

  • Hi. Alert wird nicht ausgeführt, weil die math-Funktion ist case sensitive. Bitte ersetzen Sie alert(math.abs(distx)); mit alert(Math.abs(distx)); " M " in Großbuchstaben...
InformationsquelleAutor gco | 2014-01-29
Schreibe einen Kommentar