Skip to main content
Version: Phaser v4.1.0

KeyCombo

A KeyCombo will listen for a specific string of keys from the Keyboard, and when it receives them it will emit a keycombomatch event from the Keyboard Manager.

The keys to be listened for can be defined as:

A string (i.e. 'ATARI') An array of either integers (key codes) or strings, or a mixture of both An array of objects (such as Key objects) with a public 'keyCode' property

For example, to listen for the Konami code (up, up, down, down, left, right, left, right, b, a, enter) you could pass the following array of key codes:

this.input.keyboard.createCombo([ 38, 38, 40, 40, 37, 39, 37, 39, 66, 65, 13 ], { resetOnMatch: true });

this.input.keyboard.on('keycombomatch', function (event) {
console.log('Konami Code entered!');
});

Or, to listen for the user entering the word PHASER:

this.input.keyboard.createCombo('PHASER');

Constructor

new KeyCombo(keyboardPlugin, keys, [config])

Parameters

nametypeoptionaldescription
keyboardPluginPhaser.Input.Keyboard.KeyboardPluginNoA reference to the Keyboard Plugin.
keysstring | Array.<number>Array.<object>No
configPhaser.Types.Input.Keyboard.KeyComboConfigYesA Key Combo configuration object.

Scope: static

Source: src/input/keyboard/combo/KeyCombo.js#L13
Since: 3.0.0

Public Members​

current​

current: number​

Description:

The current keyCode the combo is waiting for.

Source: src/input/keyboard/combo/KeyCombo.js#L114
Since: 3.0.0


deleteOnMatch​

deleteOnMatch: boolean​

Description:

If the combo matches successfully, this KeyCombo instance will automatically destroy itself.

Source: src/input/keyboard/combo/KeyCombo.js#L202
Since: 3.0.0


enabled​

enabled: boolean​

Description:

A flag that controls if this Key Combo is actively processing keys or not.

Source: src/input/keyboard/combo/KeyCombo.js#L74
Since: 3.0.0


index​

index: number​

Description:

The current index of the key being waited for in the keyCodes array.

Source: src/input/keyboard/combo/KeyCombo.js#L123
Since: 3.0.0


keyCodes​

keyCodes: array​

Description:

An array of the keycodes that comprise this combo.

Source: src/input/keyboard/combo/KeyCombo.js#L84
Since: 3.0.0


manager​

manager: Phaser.Input.Keyboard.KeyboardPlugin​

Description:

A reference to the Keyboard Plugin

Source: src/input/keyboard/combo/KeyCombo.js#L65
Since: 3.0.0


matched​

matched: boolean​

Description:

Has this Key Combo been matched yet?

Source: src/input/keyboard/combo/KeyCombo.js#L152
Since: 3.0.0


maxKeyDelay​

maxKeyDelay: number​

Description:

The max delay in ms between each key press. Above this the combo is reset. 0 means disabled.

Source: src/input/keyboard/combo/KeyCombo.js#L182
Since: 3.0.0


progress​

progress: number​

Description:

How far complete is this combo? A value between 0 and 1.

Source: src/input/keyboard/combo/KeyCombo.js#L252
Since: 3.0.0


resetOnMatch​

resetOnMatch: boolean​

Description:

If the combo has previously been matched and the user presses the first key of the combo again, the combo will reset.

Source: src/input/keyboard/combo/KeyCombo.js#L192
Since: 3.0.0


resetOnWrongKey​

resetOnWrongKey: boolean​

Description:

If the user presses an incorrect key, the combo sequence will be reset to the beginning.

Source: src/input/keyboard/combo/KeyCombo.js#L172
Since: 3.0.0


size​

size: number​

Description:

The length of this combo (in keycodes)

Source: src/input/keyboard/combo/KeyCombo.js#L133
Since: 3.0.0


timeLastMatched​

timeLastMatched: number​

Description:

The time the previous key in the combo was matched.

Source: src/input/keyboard/combo/KeyCombo.js#L142
Since: 3.0.0


timeMatched​

timeMatched: number​

Description:

The time the entire combo was matched.

Source: src/input/keyboard/combo/KeyCombo.js#L162
Since: 3.0.0


Public Methods​

destroy​

<instance> destroy()​

Description:

Destroys this Key Combo and all of its references.

Source: src/input/keyboard/combo/KeyCombo.js#L269
Since: 3.0.0