2016-07-13 24 views
1

Ich möchte Bewegung machen, während auf die Schaltfläche geklickt wird: links. Dies ist für mobile Bewegung ...Reibungslose Bewegung

Das Problem ist seine Bewegung, aber nur einmal. Ich brauche, um Spam-Klick-Taste ...

Code:

In erstellen:

this.buttonleft.inputEnabled = true; 
this.buttonleft.events.onInputDown.add(this.clickMoveLeft, this); 
this.buttonleft.mouseDownCallback = false; 

this.buttonleft.alpha = false; // Making no visable 

Unter allem - separate Funktion:

clickMoveLeft: function() 
{ 
    if(!this.clickMoveLeft.mouseDownCallback) 
    { 
     this.player.body.velocity.x = -160; 
     this.buttonleft.mouseDownCallback = true; 

    } 
    else if (!this.clickMoveLeft.mouseUpCallback) 
    { 
     this.player.body.velocity.x = 0; 
     this.buttonleft.mouseDownCallback = false; 
} 
+0

Sie meinen, wenn Sie auf eine Schaltfläche klicken, wird eine "Form" nach links und dann nach rechts verschoben. dann springen und noch einmal wiederholen? Aber wann wird es aufhören? – trungk18

+0

Wenn ich links klicke, bewegt sich Sprite einmal. (160) und ich muss so oft klicken um mich zu bewegen. Ich möchte Ergebnis wie bekommen; Ich klicke und halte den Knopf gedrückt und Sprite bewegt sich, bis ich den Knopf nicht mehr halte – Tomasz

Antwort

1

Ich weiß nicht, den Versteller Rahmen aber ich weiß, wie js Ereignisse funktioniert und nach einer quick search in the docs bin ich mir ziemlich sicher, dass der .mouseDownCallback Callback nur einmal ausgelöst wird, wenn Sie die Maus klicken und nicht kontinuierlich ist. So können Sie das Mousedown-Ereignis verwenden, um eine Funktion aufzurufen, die das bewegt, was Sie verschieben möchten, und den Mouse-Up, um es zu stoppen.