Collision detection in html5-canvas

Ich versuche zu bauen, ein Spiel, wo der Benutzer sollte der Kreis im inneren eine vertikale Leiste, aber ich habe Probleme in der collision-detection-Funktion. Hier mal mein jsfiddle : http://jsfiddle.net/seekpunk/QnBhK/1/

 if (collides(Bluecircle, longStand)) {
    Bluecircle.y = longStand.y2;
    Bluecircle.x = longStand.x2;
 }
 else if (collides(Bluecircle, ShortStand)) {
    Bluecircle.y = ShortStand.y2;
    Bluecircle.x = ShortStand.x2;
 }
function collides(a, bar) {
   return a.x == bar.x1 && a.y == bar.y1;
}
  • Als ich aus dem code sehen in der Frage, die Sie vergleichen die genauen ball zu koordinieren, um genaue Wand-zu koordinieren. Die Chancen, dass diese Koordinaten Zusammenfallen, sind ziemlich klein, versuchen Sie, die Bewertung der Tatsache, dass der ball innerhalb einer Fläche. Oder eine bar, die im inneren einer Kugel des radius. Wie Math.abs(a.x - bar.x1) < radius
InformationsquelleAutor Sora | 2014-01-02
Schreibe einen Kommentar