2016-04-18 6 views

Antwort

1

Eine Option ist onUpCallback zu verwenden.

game.input.keyboard.onUpCallback = function (e) { 
    // These can be checked against Phaser.Keyboard.UP, for example. 
    console.log(e.keyCode); 
}; 

Ich nehme an, Sie auch, ob der Schlüssel speichern können, ist unten in Ihrer update Funktion, und dann bei jeder Iteration überprüfen, ob es nach oben, wenn man will: zum Beispiel in Ihrer create Funktion so etwas wie die folgenden hinzufügen Verfolgen Sie, wie lange die Taste gedrückt wurde.

Ich bin mir nicht sicher, welche Art von Leistungsprobleme würden Sie jedoch, so würde ich wahrscheinlich mit onUpCallback beginnen.

+0

Was tun Sie, wenn dies der Fehler gibt, „kann nicht eingestellt Eigenschaft 'onUpCallback' von undefined "? – Jim

+0

Das deutet darauf hin, dass "Tastatur" nicht definiert ist. Ich müsste mehr Code zur Fehlerbehebung darüber hinaus sehen. –

+0

Es stellte sich heraus, dass ich versuchte, die Tastaturereignisse auf regulären Bildern und Sprites hinzuzufügen, wenn sie wirklich nur zum Spielobjekt hinzugefügt werden können. – Jim

0

Setzen Sie ein Flag, wenn die Taste gedrückt wird. Bei der Prüfung Aktualisierungsschleife, wenn das Flag gesetzt ist, aber der Schlüssel ist nicht mehr nach unten:

//... somewhere 
var downFlag = false; 

//... in update 
if(yourkey.isDown){ 
    downFlag = true; 
}else{ 
    if(downFlag){ 
     downFlag = false; 
     //do something 
    } 
} 

..aber mit beginnen, was James sagt