File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff 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 /**
You can’t perform that action at this time.
0 commit comments