2012-03-24 6 views
3

Ich versuche zu überprüfen, ob zwei Objekte (z. B. ein Rechteck und ein Dreieck) auf einem HTML5-Canvas einander überlappen.So überprüfen Sie, ob sich Canvas-Objekte überlappen

Momentan kann ich das nur überprüfen, indem ich auf den Bildschirm schaue (nachdem ich globalCompositeOperation = 'lighter' gesetzt habe).

Meine erste Idee wäre gewesen, überall auf der Leinwand zu scannen, wenn die Farbe "heller" (vergleiche Codeschnipsel oben) in der Leinwand existiert. Aber dafür müsste ich jedes einzelne Pixel betrachten, was ziemlich teuer für das ist, was ich brauche.

Gibt es eine (bessere) Alternative, um automatisch zu prüfen, ob sie sich überschneiden?

Mit freundlichen Grüßen.

Antwort

3

Die folgende Seite erläutert die Verwendung des Trennachsensatzes, um zu bestimmen, ob sich zwei konvexe Formen überlappen.

http://www.codezealot.org/archives/55

diese nutzen zu können, um die Daten in contstructing die Formen verwendeten Koordinaten wissen müssen.

+0

Okay, sieht auf den ersten Blick verwirrend aus. Ich werde sehen, ob das mein Problem löst. Vielen Dank! –