Skip to content

Commit 20d702c

Browse files
committed
Added identifier properties for multi-touch
1 parent 700a26a commit 20d702c

1 file changed

Lines changed: 88 additions & 51 deletions

File tree

src/input/Pointer.js

Lines changed: 88 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -167,7 +167,6 @@ var Pointer = new Class({
167167
*/
168168
this.primaryDown = false;
169169

170-
171170
/**
172171
* The Drag State of the Pointer:
173172
*
@@ -261,6 +260,35 @@ var Pointer = new Class({
261260
* @since 3.0.0
262261
*/
263262
this.movementY = 0;
263+
264+
/**
265+
* The identifier property of the Pointer as set by the DOM event when this Pointer is started.
266+
*
267+
* @name Phaser.Input.Pointer#identifier
268+
* @type {number}
269+
* @since 3.10.0
270+
*/
271+
this.identifier = 0;
272+
273+
/**
274+
* The pointerId property of the Pointer as set by the DOM event when this Pointer is started.
275+
* The browser can and will recycle this value.
276+
*
277+
* @name Phaser.Input.Pointer#pointerId
278+
* @type {number}
279+
* @since 3.10.0
280+
*/
281+
this.pointerId = null;
282+
283+
/**
284+
* An active Pointer is one that is currently pressed down on the display.
285+
* A Mouse is always considered as active.
286+
*
287+
* @name Phaser.Input.Pointer#active
288+
* @type {boolean}
289+
* @since 3.10.0
290+
*/
291+
this.active = (id === 0) ? true : false;
264292
},
265293

266294
/**
@@ -279,48 +307,6 @@ var Pointer = new Class({
279307
return camera.getWorldPoint(this.x, this.y, output);
280308
},
281309

282-
/**
283-
* [description]
284-
*
285-
* @name Phaser.Input.Pointer#x
286-
* @type {number}
287-
* @since 3.0.0
288-
*/
289-
x: {
290-
291-
get: function ()
292-
{
293-
return this.position.x;
294-
},
295-
296-
set: function (value)
297-
{
298-
this.position.x = value;
299-
}
300-
301-
},
302-
303-
/**
304-
* [description]
305-
*
306-
* @name Phaser.Input.Pointer#y
307-
* @type {number}
308-
* @since 3.0.0
309-
*/
310-
y: {
311-
312-
get: function ()
313-
{
314-
return this.position.y;
315-
},
316-
317-
set: function (value)
318-
{
319-
this.position.y = value;
320-
}
321-
322-
},
323-
324310
/**
325311
* [description]
326312
*
@@ -329,8 +315,6 @@ var Pointer = new Class({
329315
*/
330316
reset: function ()
331317
{
332-
// this.buttons = 0;
333-
334318
this.dirty = false;
335319

336320
this.justDown = false;
@@ -354,8 +338,8 @@ var Pointer = new Class({
354338
{
355339
this.event = event;
356340

357-
this.x = this.manager.transformX(event.changedTouches[0].pageX);
358-
this.y = this.manager.transformY(event.changedTouches[0].pageY);
341+
this.x = this.manager.transformX(event.pageX);
342+
this.y = this.manager.transformY(event.pageY);
359343

360344
this.justMoved = true;
361345

@@ -448,12 +432,21 @@ var Pointer = new Class({
448432
*/
449433
touchstart: function (event, time)
450434
{
435+
if (event['pointerId'])
436+
{
437+
this.pointerId = event.pointerId;
438+
}
439+
440+
this.identifier = event.identifier;
441+
this.target = event.target;
442+
this.active = true;
443+
451444
this.buttons = 1;
452445

453446
this.event = event;
454447

455-
this.x = this.manager.transformX(event.changedTouches[0].pageX);
456-
this.y = this.manager.transformY(event.changedTouches[0].pageY);
448+
this.x = this.manager.transformX(event.pageX);
449+
this.y = this.manager.transformY(event.pageY);
457450

458451
this.primaryDown = true;
459452
this.downX = this.x;
@@ -521,8 +514,8 @@ var Pointer = new Class({
521514

522515
this.event = event;
523516

524-
this.x = this.manager.transformX(event.changedTouches[0].pageX);
525-
this.y = this.manager.transformY(event.changedTouches[0].pageY);
517+
this.x = this.manager.transformX(event.pageX);
518+
this.y = this.manager.transformY(event.pageY);
526519

527520
this.primaryDown = false;
528521
this.upX = this.x;
@@ -535,6 +528,8 @@ var Pointer = new Class({
535528
this.dirty = true;
536529

537530
this.wasTouch = true;
531+
532+
this.active = false;
538533
},
539534

540535
/**
@@ -626,6 +621,48 @@ var Pointer = new Class({
626621
this.camera = null;
627622
this.manager = null;
628623
this.position = null;
624+
},
625+
626+
/**
627+
* [description]
628+
*
629+
* @name Phaser.Input.Pointer#x
630+
* @type {number}
631+
* @since 3.0.0
632+
*/
633+
x: {
634+
635+
get: function ()
636+
{
637+
return this.position.x;
638+
},
639+
640+
set: function (value)
641+
{
642+
this.position.x = value;
643+
}
644+
645+
},
646+
647+
/**
648+
* [description]
649+
*
650+
* @name Phaser.Input.Pointer#y
651+
* @type {number}
652+
* @since 3.0.0
653+
*/
654+
y: {
655+
656+
get: function ()
657+
{
658+
return this.position.y;
659+
},
660+
661+
set: function (value)
662+
{
663+
this.position.y = value;
664+
}
665+
629666
}
630667

631668
});

0 commit comments

Comments
 (0)