Mit addEventListener hinzufügen einer callback-Argumente

Ich bin momentan dabei, ein drag-und-drop-system mit einer Leinwand.

      canvas.addEventListener('mousedown', function () {
          window.initialClickX = mouse.x;
          window.initialClickY = mouse.y;
          window.initialBallX = ball.x;
          window.initialBallY = ball.y;
          canvas.addEventListener('mousemove', onMouseMove, false);
      }, false);

     function onMouseMove(){
        ball.x = mouse.x + window.initialBallX - window.initialClickX;
        ball.y = mouse.y + window.initialBallY - window.initialClickY;
        draw();
     }

Wenn ich darauf klicke, muss ich die Werte für die initial-position der Maus und der erste ball position, so kann ich richtig ziehen Sie den ball um.

Der obige code funktioniert perfekt, aber ich denke, es sieht chaotisch mit all den globalen Variablen. Ich möchte onMouseMove übernehmen zu können die Parameter initialClickX, initialClickY, initialBallX und initialBallY. Aber wie kann ich diese Parameter an die callback-Funktion?

Oder ob es einen besseren Weg, dies zu tun, lassen Sie mich bitte wissen, danke.

Ich habe nicht wirklich an ihn denken, konnte aber nicht erstellen Sie ein Objekt oder eine Instanz und Eigenschaften zu speichern?

InformationsquelleAutor Lars | 2013-06-21

Schreibe einen Kommentar