Skip to content

Commit 4cfa29a

Browse files
committed
Added flag to help avoid cursor reset issue
1 parent c616e32 commit 4cfa29a

1 file changed

Lines changed: 23 additions & 6 deletions

File tree

src/input/InputManager.js

Lines changed: 23 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -356,6 +356,16 @@ var InputManager = new Class({
356356
*/
357357
this.useQueue = config.inputQueue;
358358

359+
/**
360+
* Internal property that tracks frame event state.
361+
*
362+
* @name Phaser.Input.InputManager#_updatedThisFrame
363+
* @type {boolean}
364+
* @private
365+
* @since 3.16.0
366+
*/
367+
this._updatedThisFrame = false;
368+
359369
/**
360370
* A re-cycled point-like object to store hit test values in.
361371
*
@@ -459,6 +469,8 @@ var InputManager = new Class({
459469
this._emitIsOverEvent = event;
460470
},
461471

472+
473+
462474
/**
463475
* Internal update method, called automatically when a DOM input event is received.
464476
*
@@ -471,19 +483,22 @@ var InputManager = new Class({
471483
*/
472484
update: function (time)
473485
{
474-
var i;
475-
476-
this._setCursor = 0;
486+
if (!this._updatedThisFrame)
487+
{
488+
this._setCursor = 0;
489+
490+
this._updatedThisFrame = true;
491+
}
477492

478493
this.events.emit(Events.MANAGER_UPDATE);
479-
494+
480495
this.ignoreEvents = false;
481496

482497
this.dirty = true;
483498

484499
var pointers = this.pointers;
485-
486-
for (i = 0; i < this.pointersTotal; i++)
500+
501+
for (var i = 0; i < this.pointersTotal; i++)
487502
{
488503
pointers[i].reset(time);
489504
}
@@ -607,6 +622,8 @@ var InputManager = new Class({
607622
this._emitIsOverEvent = null;
608623

609624
this.dirty = false;
625+
626+
this._updatedThisFrame = false;
610627
},
611628

612629
/**

0 commit comments

Comments
 (0)