phaser-rails 2.4.7.0 → 2.4.8.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/phaser/rails/version.rb +1 -1
- data/vendor/assets/javascripts/phaser.js +260 -90
- data/vendor/assets/javascripts/phaser.map +1 -1
- data/vendor/assets/javascripts/phaser.min.js +22 -22
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5eeea8aafe235e506bc45b64444bef7107653484
|
4
|
+
data.tar.gz: 45b6c6aeee91ce3c4649c21009926052aa3b8edb
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 506ae0e1c7bcff9bf7e89c5c0565309730796729f94a0f0d5032a19b8ebfdb6daf8c4e4b9453f20cf96b30b749e4359322257c5d9313bccdc1e0167672015b3e
|
7
|
+
data.tar.gz: 7a6ebc8f262b1b46fefbd4b193abe3e4aa92a97aed6a44ac288460bc78c083c7a0063ba313dbaa6c0cb853df8ecd63943a1c2b6145fb3f9ee93b3674e0469d0c
|
data/lib/phaser/rails/version.rb
CHANGED
@@ -7,7 +7,7 @@
|
|
7
7
|
*
|
8
8
|
* Phaser - http://phaser.io
|
9
9
|
*
|
10
|
-
* v2.4.
|
10
|
+
* v2.4.8 "Watch Hill" - Built: Thu May 19 2016 12:22:18
|
11
11
|
*
|
12
12
|
* By Richard Davey http://www.photonstorm.com @photonstorm
|
13
13
|
*
|
@@ -14248,8 +14248,8 @@ PIXI.DisplayObject.prototype.updateTransform = function(parent)
|
|
14248
14248
|
this.worldAlpha = this.alpha * p.worldAlpha;
|
14249
14249
|
|
14250
14250
|
this.worldPosition.set(wt.tx, wt.ty);
|
14251
|
-
this.worldScale.set(
|
14252
|
-
this.worldRotation = Math.atan2(
|
14251
|
+
this.worldScale.set(wt.a, wt.d);
|
14252
|
+
this.worldRotation = Math.atan2(wt.c, wt.d);
|
14253
14253
|
|
14254
14254
|
// reset the bounds each time this is called!
|
14255
14255
|
this._currentBounds = null;
|
@@ -14317,7 +14317,7 @@ PIXI.DisplayObject.prototype.preUpdate = function()
|
|
14317
14317
|
* @param resolution {Number} The resolution of the texture being generated
|
14318
14318
|
* @param scaleMode {Number} See {{#crossLink "PIXI/scaleModes:property"}}PIXI.scaleModes{{/crossLink}} for possible values
|
14319
14319
|
* @param renderer {CanvasRenderer|WebGLRenderer} The renderer used to generate the texture.
|
14320
|
-
* @return {
|
14320
|
+
* @return {RenderTexture} a texture of the graphics object
|
14321
14321
|
*/
|
14322
14322
|
PIXI.DisplayObject.prototype.generateTexture = function(resolution, scaleMode, renderer)
|
14323
14323
|
{
|
@@ -15507,6 +15507,7 @@ PIXI.Sprite.prototype._renderCanvas = function(renderSession, matrix)
|
|
15507
15507
|
this.tintedTexture = PIXI.CanvasTinter.getTintedTexture(this, this.tint);
|
15508
15508
|
|
15509
15509
|
this.cachedTint = this.tint;
|
15510
|
+
this.texture.requiresReTint = false;
|
15510
15511
|
}
|
15511
15512
|
|
15512
15513
|
renderSession.context.drawImage(this.tintedTexture, 0, 0, cw, ch, dx, dy, cw / resolution, ch / resolution);
|
@@ -16115,6 +16116,7 @@ PIXI.compileProgram = function(gl, vertexSrc, fragmentSrc)
|
|
16115
16116
|
|
16116
16117
|
if (!gl.getProgramParameter(shaderProgram, gl.LINK_STATUS))
|
16117
16118
|
{
|
16119
|
+
window.console.log(gl.getProgramInfoLog(shaderProgram));
|
16118
16120
|
window.console.log("Could not initialise shaders");
|
16119
16121
|
}
|
16120
16122
|
|
@@ -18010,6 +18012,7 @@ PIXI.WebGLShaderManager.prototype.setContext = function(gl)
|
|
18010
18012
|
|
18011
18013
|
// the next one is used for rendering triangle strips
|
18012
18014
|
this.stripShader = new PIXI.StripShader(gl);
|
18015
|
+
|
18013
18016
|
this.setShader(this.defaultShader);
|
18014
18017
|
};
|
18015
18018
|
|
@@ -22767,7 +22770,7 @@ var Phaser = Phaser || {
|
|
22767
22770
|
* @constant
|
22768
22771
|
* @type {string}
|
22769
22772
|
*/
|
22770
|
-
VERSION: '2.4.
|
22773
|
+
VERSION: '2.4.8',
|
22771
22774
|
|
22772
22775
|
/**
|
22773
22776
|
* An array of Phaser game instances.
|
@@ -27988,7 +27991,7 @@ Phaser.Camera = function (game, id, x, y, width, height) {
|
|
27988
27991
|
* The Camera is bound to this Rectangle and cannot move outside of it. By default it is enabled and set to the size of the World.
|
27989
27992
|
* The Rectangle can be located anywhere in the world and updated as often as you like. If you don't wish the Camera to be bound
|
27990
27993
|
* at all then set this to null. The values can be anything and are in World coordinates, with 0,0 being the top-left of the world.
|
27991
|
-
*
|
27994
|
+
*
|
27992
27995
|
* @property {Phaser.Rectangle} bounds - The Rectangle in which the Camera is bounded. Set to null to allow for movement anywhere.
|
27993
27996
|
*/
|
27994
27997
|
this.bounds = new Phaser.Rectangle(x, y, width, height);
|
@@ -28211,10 +28214,10 @@ Phaser.Camera.prototype = {
|
|
28211
28214
|
*
|
28212
28215
|
* You can set the follow type and a linear interpolation value.
|
28213
28216
|
* Use low lerp values (such as 0.1) to automatically smooth the camera motion.
|
28214
|
-
*
|
28217
|
+
*
|
28215
28218
|
* If you find you're getting a slight "jitter" effect when following a Sprite it's probably to do with sub-pixel rendering of the Sprite position.
|
28216
28219
|
* This can be disabled by setting `game.renderer.renderSession.roundPixels = true` to force full pixel rendering.
|
28217
|
-
*
|
28220
|
+
*
|
28218
28221
|
* @method Phaser.Camera#follow
|
28219
28222
|
* @param {Phaser.Sprite|Phaser.Image|Phaser.Text} target - The object you want the camera to track. Set to null to not follow anything.
|
28220
28223
|
* @param {number} [style] - Leverage one of the existing "deadzone" presets. If you use a custom deadzone, ignore this parameter and manually specify the deadzone after calling follow().
|
@@ -28379,7 +28382,7 @@ Phaser.Camera.prototype = {
|
|
28379
28382
|
},
|
28380
28383
|
|
28381
28384
|
/**
|
28382
|
-
* This creates a camera fade effect. It works by filling the game with the
|
28385
|
+
* This creates a camera fade effect. It works by filling the game with the
|
28383
28386
|
* color specified, over the duration given, ending with a solid fill.
|
28384
28387
|
*
|
28385
28388
|
* You can use this for things such as transitioning to a new scene.
|
@@ -28849,6 +28852,28 @@ Object.defineProperty(Phaser.Camera.prototype, "height", {
|
|
28849
28852
|
|
28850
28853
|
});
|
28851
28854
|
|
28855
|
+
|
28856
|
+
/**
|
28857
|
+
* The Cameras shake intensity.
|
28858
|
+
* @name Phaser.Camera#shakeIntensity
|
28859
|
+
* @property {number} shakeIntensity - Gets or sets the cameras shake intensity.
|
28860
|
+
*/
|
28861
|
+
Object.defineProperty(Phaser.Camera.prototype, "shakeIntensity", {
|
28862
|
+
|
28863
|
+
get: function () {
|
28864
|
+
|
28865
|
+
return this._shake.intensity;
|
28866
|
+
|
28867
|
+
},
|
28868
|
+
|
28869
|
+
set: function (value) {
|
28870
|
+
|
28871
|
+
this._shake.intensity = value;
|
28872
|
+
|
28873
|
+
}
|
28874
|
+
|
28875
|
+
});
|
28876
|
+
|
28852
28877
|
/**
|
28853
28878
|
* @author Richard Davey <rich@photonstorm.com>
|
28854
28879
|
* @copyright 2016 Photon Storm Ltd.
|
@@ -34482,7 +34507,7 @@ Phaser.Game = function (width, height, renderer, parent, state, transparent, ant
|
|
34482
34507
|
this.renderer = null;
|
34483
34508
|
|
34484
34509
|
/**
|
34485
|
-
* @property {number} renderType - The Renderer this game will use. Either Phaser.AUTO, Phaser.CANVAS or Phaser.
|
34510
|
+
* @property {number} renderType - The Renderer this game will use. Either Phaser.AUTO, Phaser.CANVAS, Phaser.WEBGL, or Phaser.HEADLESS.
|
34486
34511
|
* @readonly
|
34487
34512
|
*/
|
34488
34513
|
this.renderType = Phaser.AUTO;
|
@@ -35310,11 +35335,14 @@ Phaser.Game.prototype = {
|
|
35310
35335
|
|
35311
35336
|
this.state.preRender(elapsedTime);
|
35312
35337
|
|
35313
|
-
this.
|
35338
|
+
if (this.renderType !== Phaser.HEADLESS)
|
35339
|
+
{
|
35340
|
+
this.renderer.render(this.stage);
|
35314
35341
|
|
35315
|
-
|
35342
|
+
this.plugins.render(elapsedTime);
|
35316
35343
|
|
35317
|
-
|
35344
|
+
this.state.render(elapsedTime);
|
35345
|
+
}
|
35318
35346
|
|
35319
35347
|
this.plugins.postRender(elapsedTime);
|
35320
35348
|
|
@@ -35362,6 +35390,11 @@ Phaser.Game.prototype = {
|
|
35362
35390
|
/**
|
35363
35391
|
* Nukes the entire game from orbit.
|
35364
35392
|
*
|
35393
|
+
* Calls destroy on Game.state, Game.sound, Game.scale, Game.stage, Game.input, Game.physics and Game.plugins.
|
35394
|
+
*
|
35395
|
+
* Then sets all of those local handlers to null, destroys the renderer, removes the canvas from the DOM
|
35396
|
+
* and resets the PIXI default renderer.
|
35397
|
+
*
|
35365
35398
|
* @method Phaser.Game#destroy
|
35366
35399
|
*/
|
35367
35400
|
destroy: function () {
|
@@ -35395,6 +35428,8 @@ Phaser.Game.prototype = {
|
|
35395
35428
|
|
35396
35429
|
Phaser.Canvas.removeFromDOM(this.canvas);
|
35397
35430
|
|
35431
|
+
PIXI.defaultRenderer = null;
|
35432
|
+
|
35398
35433
|
Phaser.GAMES[this.id] = null;
|
35399
35434
|
|
35400
35435
|
},
|
@@ -36018,7 +36053,12 @@ Phaser.Input.prototype = {
|
|
36018
36053
|
/**
|
36019
36054
|
* Adds a callback that is fired every time the activePointer receives a DOM move event such as a mousemove or touchmove.
|
36020
36055
|
*
|
36021
|
-
* The callback will be sent 4 parameters:
|
36056
|
+
* The callback will be sent 4 parameters:
|
36057
|
+
*
|
36058
|
+
* A reference to the Phaser.Pointer object that moved,
|
36059
|
+
* The x position of the pointer,
|
36060
|
+
* The y position,
|
36061
|
+
* A boolean indicating if the movement was the result of a 'click' event (such as a mouse click or touch down).
|
36022
36062
|
*
|
36023
36063
|
* It will be called every time the activePointer moves, which in a multi-touch game can be a lot of times, so this is best
|
36024
36064
|
* to only use if you've limited input to a single pointer (i.e. mouse or touch).
|
@@ -36508,7 +36548,7 @@ Phaser.Input.prototype = {
|
|
36508
36548
|
|
36509
36549
|
// Didn't hit the parent, does it have any children?
|
36510
36550
|
|
36511
|
-
for (var i = 0
|
36551
|
+
for (var i = 0; i < displayObject.children.length; i++)
|
36512
36552
|
{
|
36513
36553
|
if (this.hitTest(displayObject.children[i], pointer, localPoint))
|
36514
36554
|
{
|
@@ -39314,7 +39354,7 @@ Object.defineProperty(Phaser.Pointer.prototype, "duration", {
|
|
39314
39354
|
/**
|
39315
39355
|
* Gets the X value of this Pointer in world coordinates based on the world camera.
|
39316
39356
|
* @name Phaser.Pointer#worldX
|
39317
|
-
* @property {number}
|
39357
|
+
* @property {number} worldX - The X value of this Pointer in world coordinates based on the world camera.
|
39318
39358
|
* @readonly
|
39319
39359
|
*/
|
39320
39360
|
Object.defineProperty(Phaser.Pointer.prototype, "worldX", {
|
@@ -39330,7 +39370,7 @@ Object.defineProperty(Phaser.Pointer.prototype, "worldX", {
|
|
39330
39370
|
/**
|
39331
39371
|
* Gets the Y value of this Pointer in world coordinates based on the world camera.
|
39332
39372
|
* @name Phaser.Pointer#worldY
|
39333
|
-
* @property {number}
|
39373
|
+
* @property {number} worldY - The Y value of this Pointer in world coordinates based on the world camera.
|
39334
39374
|
* @readonly
|
39335
39375
|
*/
|
39336
39376
|
Object.defineProperty(Phaser.Pointer.prototype, "worldY", {
|
@@ -40516,7 +40556,14 @@ Phaser.InputHandler.prototype = {
|
|
40516
40556
|
*/
|
40517
40557
|
checkPointerDown: function (pointer, fastTest) {
|
40518
40558
|
|
40519
|
-
if (!pointer.isDown ||
|
40559
|
+
if (!pointer.isDown ||
|
40560
|
+
!this.enabled ||
|
40561
|
+
!this.sprite ||
|
40562
|
+
!this.sprite.parent ||
|
40563
|
+
!this.sprite.visible ||
|
40564
|
+
!this.sprite.parent.visible |
|
40565
|
+
this.sprite.worldScale.x === 0 ||
|
40566
|
+
this.sprite.worldScale.y === 0)
|
40520
40567
|
{
|
40521
40568
|
return false;
|
40522
40569
|
}
|
@@ -40554,11 +40601,19 @@ Phaser.InputHandler.prototype = {
|
|
40554
40601
|
*/
|
40555
40602
|
checkPointerOver: function (pointer, fastTest) {
|
40556
40603
|
|
40557
|
-
if (!
|
40604
|
+
if (!pointer.isDown ||
|
40605
|
+
!this.enabled ||
|
40606
|
+
!this.sprite ||
|
40607
|
+
!this.sprite.parent ||
|
40608
|
+
!this.sprite.visible ||
|
40609
|
+
!this.sprite.parent.visible |
|
40610
|
+
this.sprite.worldScale.x === 0 ||
|
40611
|
+
this.sprite.worldScale.y === 0)
|
40558
40612
|
{
|
40559
40613
|
return false;
|
40560
40614
|
}
|
40561
40615
|
|
40616
|
+
|
40562
40617
|
// Need to pass it a temp point, in case we need it again for the pixel check
|
40563
40618
|
if (this.game.input.hitTest(this.sprite, pointer, this._tempPoint))
|
40564
40619
|
{
|
@@ -44340,11 +44395,6 @@ Phaser.Component.Core.preUpdate = function () {
|
|
44340
44395
|
this.renderOrderID = this.game.stage.currentRenderOrderID++;
|
44341
44396
|
}
|
44342
44397
|
|
44343
|
-
if (this.texture)
|
44344
|
-
{
|
44345
|
-
this.texture.requiresReTint = false;
|
44346
|
-
}
|
44347
|
-
|
44348
44398
|
if (this.animations)
|
44349
44399
|
{
|
44350
44400
|
this.animations.update();
|
@@ -44940,12 +44990,19 @@ Phaser.Component.Destroy.prototype = {
|
|
44940
44990
|
|
44941
44991
|
/**
|
44942
44992
|
* The Events component is a collection of events fired by the parent game object.
|
44993
|
+
*
|
44994
|
+
* Phaser uses what are known as 'Signals' for all event handling. All of the events in
|
44995
|
+
* this class are signals you can subscribe to, much in the same way you'd "listen" for
|
44996
|
+
* an event.
|
44943
44997
|
*
|
44944
|
-
* For example to tell when a Sprite has been added to a new group
|
44998
|
+
* For example to tell when a Sprite has been added to a new group, you can bind a function
|
44999
|
+
* to the `onAddedToGroup` signal:
|
44945
45000
|
*
|
44946
45001
|
* `sprite.events.onAddedToGroup.add(yourFunction, this);`
|
44947
45002
|
*
|
44948
45003
|
* Where `yourFunction` is the function you want called when this event occurs.
|
45004
|
+
*
|
45005
|
+
* For more details about how signals work please see the Phaser.Signal class.
|
44949
45006
|
*
|
44950
45007
|
* The Input-related events will only be dispatched if the Sprite has had `inputEnabled` set to `true`
|
44951
45008
|
* and the Animation-related events only apply to game objects with animations like {@link Phaser.Sprite}.
|
@@ -45897,7 +45954,7 @@ Phaser.Component.LoadTexture.prototype = {
|
|
45897
45954
|
{
|
45898
45955
|
this.updateCrop();
|
45899
45956
|
}
|
45900
|
-
|
45957
|
+
|
45901
45958
|
this.texture.requiresReTint = true;
|
45902
45959
|
|
45903
45960
|
this.texture._updateUvs();
|
@@ -49509,7 +49566,7 @@ Phaser.BitmapData.prototype = {
|
|
49509
49566
|
* You can use the more friendly methods like `copyRect` and `draw` to avoid having to remember them all.
|
49510
49567
|
*
|
49511
49568
|
* @method Phaser.BitmapData#copy
|
49512
|
-
* @param {Phaser.Sprite|Phaser.Image|Phaser.Text|Phaser.BitmapData|Image|HTMLCanvasElement|string} [source] - The source to copy from. If you give a string it will try and find the Image in the Game.Cache first. This is quite expensive so try to provide the image itself.
|
49569
|
+
* @param {Phaser.Sprite|Phaser.Image|Phaser.Text|Phaser.BitmapData|Phaser.RenderTexture|Image|HTMLCanvasElement|string} [source] - The source to copy from. If you give a string it will try and find the Image in the Game.Cache first. This is quite expensive so try to provide the image itself.
|
49513
49570
|
* @param {number} [x=0] - The x coordinate representing the top-left of the region to copy from the source image.
|
49514
49571
|
* @param {number} [y=0] - The y coordinate representing the top-left of the region to copy from the source image.
|
49515
49572
|
* @param {number} [width] - The width of the region to copy from the source image. If not specified it will use the full source image width.
|
@@ -49532,6 +49589,11 @@ Phaser.BitmapData.prototype = {
|
|
49532
49589
|
|
49533
49590
|
if (source === undefined || source === null) { source = this; }
|
49534
49591
|
|
49592
|
+
if (source instanceof Phaser.RenderTexture || source instanceof PIXI.RenderTexture)
|
49593
|
+
{
|
49594
|
+
source = source.getCanvas();
|
49595
|
+
}
|
49596
|
+
|
49535
49597
|
this._image = source;
|
49536
49598
|
|
49537
49599
|
if (source instanceof Phaser.Sprite || source instanceof Phaser.Image || source instanceof Phaser.Text || source instanceof PIXI.Sprite)
|
@@ -49543,7 +49605,15 @@ Phaser.BitmapData.prototype = {
|
|
49543
49605
|
this._anchor.set(source.anchor.x, source.anchor.y);
|
49544
49606
|
this._rotate = source.rotation;
|
49545
49607
|
this._alpha.current = source.alpha;
|
49546
|
-
|
49608
|
+
|
49609
|
+
if (source.texture instanceof Phaser.RenderTexture || source.texture instanceof PIXI.RenderTexture)
|
49610
|
+
{
|
49611
|
+
this._image = source.texture.getCanvas();
|
49612
|
+
}
|
49613
|
+
else
|
49614
|
+
{
|
49615
|
+
this._image = source.texture.baseTexture.source;
|
49616
|
+
}
|
49547
49617
|
|
49548
49618
|
if (tx === undefined || tx === null) { tx = source.x; }
|
49549
49619
|
if (ty === undefined || ty === null) { ty = source.y; }
|
@@ -49702,7 +49772,7 @@ Phaser.BitmapData.prototype = {
|
|
49702
49772
|
* Copies the area defined by the Rectangle parameter from the source image to this BitmapData at the given location.
|
49703
49773
|
*
|
49704
49774
|
* @method Phaser.BitmapData#copyRect
|
49705
|
-
* @param {Phaser.Sprite|Phaser.Image|Phaser.Text|Phaser.BitmapData|Image|string} source - The Image to copy from. If you give a string it will try and find the Image in the Game.Cache.
|
49775
|
+
* @param {Phaser.Sprite|Phaser.Image|Phaser.Text|Phaser.BitmapData|Phaser.RenderTexture|Image|string} source - The Image to copy from. If you give a string it will try and find the Image in the Game.Cache.
|
49706
49776
|
* @param {Phaser.Rectangle} area - The Rectangle region to copy from the source image.
|
49707
49777
|
* @param {number} x - The destination x coordinate to copy the image to.
|
49708
49778
|
* @param {number} y - The destination y coordinate to copy the image to.
|
@@ -49723,7 +49793,7 @@ Phaser.BitmapData.prototype = {
|
|
49723
49793
|
* When drawing it will take into account the Sprites rotation, scale and alpha values.
|
49724
49794
|
*
|
49725
49795
|
* @method Phaser.BitmapData#draw
|
49726
|
-
* @param {Phaser.Sprite|Phaser.Image|Phaser.Text} source - The Sprite, Image or Text object to draw onto this BitmapData.
|
49796
|
+
* @param {Phaser.Sprite|Phaser.Image|Phaser.Text|Phaser.RenderTexture} source - The Sprite, Image or Text object to draw onto this BitmapData.
|
49727
49797
|
* @param {number} [x=0] - The x coordinate to translate to before drawing. If not specified it will default to `source.x`.
|
49728
49798
|
* @param {number} [y=0] - The y coordinate to translate to before drawing. If not specified it will default to `source.y`.
|
49729
49799
|
* @param {number} [width] - The new width of the Sprite being copied. If not specified it will default to `source.width`.
|
@@ -49774,17 +49844,22 @@ Phaser.BitmapData.prototype = {
|
|
49774
49844
|
*/
|
49775
49845
|
drawGroupProxy: function (child, blendMode, roundPx) {
|
49776
49846
|
|
49777
|
-
|
49847
|
+
// Draw base Object
|
49848
|
+
if (child.hasOwnProperty('texture'))
|
49849
|
+
{
|
49850
|
+
this.copy(child, null, null, null, null, child.worldPosition.x, child.worldPosition.y, null, null, child.worldRotation, null, null, child.worldScale.x, child.worldScale.y, child.worldAlpha, blendMode, roundPx);
|
49851
|
+
}
|
49852
|
+
|
49853
|
+
if (child.hasOwnProperty('children') && child.children.length > 0)
|
49778
49854
|
{
|
49855
|
+
var c;
|
49856
|
+
|
49779
49857
|
for (var i = 0; i < child.children.length; i++)
|
49780
49858
|
{
|
49781
|
-
|
49859
|
+
c = child.children[i];
|
49860
|
+
this.copy(c, null, null, null, null, c.worldPosition.x, c.worldPosition.y, null, null, c.worldRotation, null, null, c.worldScale.x, c.worldScale.y, child.worldAlpha, blendMode, roundPx);
|
49782
49861
|
}
|
49783
49862
|
}
|
49784
|
-
else
|
49785
|
-
{
|
49786
|
-
this.copy(child, null, null, null, null, null, null, null, null, null, null, null, null, null, null, blendMode, roundPx);
|
49787
|
-
}
|
49788
49863
|
|
49789
49864
|
},
|
49790
49865
|
|
@@ -54600,9 +54675,12 @@ Phaser.Text.prototype.setShadow = function (x, y, color, blur, shadowStroke, sha
|
|
54600
54675
|
* @param {number} [style.wordWrapWidth=100] - The width in pixels at which text will wrap.
|
54601
54676
|
* @param {number} [style.maxLines=0] - The maximum number of lines to be shown for wrapped text.
|
54602
54677
|
* @param {number|array} [style.tabs=0] - The size (in pixels) of the tabs, for when text includes tab characters. 0 disables. Can be an array of varying tab sizes, one per tab stop.
|
54678
|
+
* @param {boolean} [update=false] - Immediately update the Text object after setting the new style? Or wait for the next frame.
|
54603
54679
|
* @return {Phaser.Text} This Text instance.
|
54604
54680
|
*/
|
54605
|
-
Phaser.Text.prototype.setStyle = function (style) {
|
54681
|
+
Phaser.Text.prototype.setStyle = function (style, update) {
|
54682
|
+
|
54683
|
+
if (update === undefined) { update = false; }
|
54606
54684
|
|
54607
54685
|
style = style || {};
|
54608
54686
|
style.font = style.font || 'bold 20pt Arial';
|
@@ -54656,6 +54734,11 @@ Phaser.Text.prototype.setStyle = function (style) {
|
|
54656
54734
|
this.style = style;
|
54657
54735
|
this.dirty = true;
|
54658
54736
|
|
54737
|
+
if (update)
|
54738
|
+
{
|
54739
|
+
this.updateText();
|
54740
|
+
}
|
54741
|
+
|
54659
54742
|
return this;
|
54660
54743
|
|
54661
54744
|
};
|
@@ -58238,7 +58321,7 @@ Phaser.TileSprite.prototype.reset = function(x, y) {
|
|
58238
58321
|
|
58239
58322
|
/**
|
58240
58323
|
* @classdesc
|
58241
|
-
* Detects device support capabilities and is responsible for device
|
58324
|
+
* Detects device support capabilities and is responsible for device initialization - see {@link Phaser.Device.whenReady whenReady}.
|
58242
58325
|
*
|
58243
58326
|
* This class represents a singleton object that can be accessed directly as `game.device`
|
58244
58327
|
* (or, as a fallback, `Phaser.Device` when a game instance is not available) without the need to instantiate it.
|
@@ -65277,7 +65360,7 @@ Phaser.Timer.prototype = {
|
|
65277
65360
|
/**
|
65278
65361
|
* Creates a new TimerEvent on this Timer.
|
65279
65362
|
*
|
65280
|
-
* Use {@link Phaser.Timer#add}, {@link Phaser.Timer#
|
65363
|
+
* Use {@link Phaser.Timer#add}, {@link Phaser.Timer#repeat}, or {@link Phaser.Timer#loop} methods to create a new event.
|
65281
65364
|
*
|
65282
65365
|
* @method Phaser.Timer#create
|
65283
65366
|
* @private
|
@@ -73815,6 +73898,12 @@ Phaser.Sound = function (game, key, volume, loop, connect) {
|
|
73815
73898
|
*/
|
73816
73899
|
this._tempVolume = 0;
|
73817
73900
|
|
73901
|
+
/**
|
73902
|
+
* @property {number} _tempPause - Internal marker var.
|
73903
|
+
* @private
|
73904
|
+
*/
|
73905
|
+
this._tempPause = 0;
|
73906
|
+
|
73818
73907
|
/**
|
73819
73908
|
* @property {number} _muteVolume - Internal cache var.
|
73820
73909
|
* @private
|
@@ -73952,6 +74041,9 @@ Phaser.Sound.prototype = {
|
|
73952
74041
|
// won't work with markers, needs to reset the position
|
73953
74042
|
this.onLoop.dispatch(this);
|
73954
74043
|
|
74044
|
+
// Gets reset by the play function
|
74045
|
+
this.isPlaying = false;
|
74046
|
+
|
73955
74047
|
if (this.currentMarker === '')
|
73956
74048
|
{
|
73957
74049
|
this.currentTime = 0;
|
@@ -73977,6 +74069,16 @@ Phaser.Sound.prototype = {
|
|
73977
74069
|
if (this.loop)
|
73978
74070
|
{
|
73979
74071
|
this.onLoop.dispatch(this);
|
74072
|
+
|
74073
|
+
if (this.currentMarker === '')
|
74074
|
+
{
|
74075
|
+
this.currentTime = 0;
|
74076
|
+
this.startTime = this.game.time.time;
|
74077
|
+
}
|
74078
|
+
|
74079
|
+
// Gets reset by the play function
|
74080
|
+
this.isPlaying = false;
|
74081
|
+
|
73980
74082
|
this.play(this.currentMarker, 0, this.volume, true, true);
|
73981
74083
|
}
|
73982
74084
|
else
|
@@ -74223,6 +74325,7 @@ Phaser.Sound.prototype = {
|
|
74223
74325
|
this.startTime = this.game.time.time;
|
74224
74326
|
this.currentTime = 0;
|
74225
74327
|
this.stopTime = this.startTime + this.durationMS;
|
74328
|
+
|
74226
74329
|
this.onPlay.dispatch(this);
|
74227
74330
|
}
|
74228
74331
|
else
|
@@ -74268,6 +74371,7 @@ Phaser.Sound.prototype = {
|
|
74268
74371
|
this.paused = true;
|
74269
74372
|
this.pausedPosition = this.currentTime;
|
74270
74373
|
this.pausedTime = this.game.time.time;
|
74374
|
+
this._tempPause = this._sound.currentTime;
|
74271
74375
|
this.onPause.dispatch(this);
|
74272
74376
|
this.stop();
|
74273
74377
|
}
|
@@ -74338,6 +74442,7 @@ Phaser.Sound.prototype = {
|
|
74338
74442
|
}
|
74339
74443
|
else
|
74340
74444
|
{
|
74445
|
+
this._sound.currentTime = this._tempPause;
|
74341
74446
|
this._sound.play();
|
74342
74447
|
}
|
74343
74448
|
|
@@ -75534,7 +75639,6 @@ Object.defineProperty(Phaser.SoundManager.prototype, "volume", {
|
|
75534
75639
|
}
|
75535
75640
|
|
75536
75641
|
this.onVolumeChange.dispatch(value);
|
75537
|
-
|
75538
75642
|
}
|
75539
75643
|
|
75540
75644
|
}
|
@@ -83408,9 +83512,10 @@ Phaser.Physics.Arcade.prototype = {
|
|
83408
83512
|
* @method Phaser.Physics.Arcade#getOverlapX
|
83409
83513
|
* @param {Phaser.Physics.Arcade.Body} body1 - The first Body to separate.
|
83410
83514
|
* @param {Phaser.Physics.Arcade.Body} body2 - The second Body to separate.
|
83515
|
+
* @param {boolean} overlapOnly - Is this an overlap only check, or part of separation?
|
83411
83516
|
* @return {float} Returns the amount of horizontal overlap between the two bodies.
|
83412
83517
|
*/
|
83413
|
-
getOverlapX: function (body1, body2) {
|
83518
|
+
getOverlapX: function (body1, body2, overlapOnly) {
|
83414
83519
|
|
83415
83520
|
var overlap = 0;
|
83416
83521
|
var maxOverlap = body1.deltaAbsX() + body2.deltaAbsX() + this.OVERLAP_BIAS;
|
@@ -83426,7 +83531,7 @@ Phaser.Physics.Arcade.prototype = {
|
|
83426
83531
|
// Body1 is moving right and / or Body2 is moving left
|
83427
83532
|
overlap = body1.right - body2.x;
|
83428
83533
|
|
83429
|
-
if ((overlap > maxOverlap) || body1.checkCollision.right === false || body2.checkCollision.left === false)
|
83534
|
+
if ((overlap > maxOverlap && !overlapOnly) || body1.checkCollision.right === false || body2.checkCollision.left === false)
|
83430
83535
|
{
|
83431
83536
|
overlap = 0;
|
83432
83537
|
}
|
@@ -83443,7 +83548,7 @@ Phaser.Physics.Arcade.prototype = {
|
|
83443
83548
|
// Body1 is moving left and/or Body2 is moving right
|
83444
83549
|
overlap = body1.x - body2.width - body2.x;
|
83445
83550
|
|
83446
|
-
if ((-overlap > maxOverlap) || body1.checkCollision.left === false || body2.checkCollision.right === false)
|
83551
|
+
if ((-overlap > maxOverlap && !overlapOnly) || body1.checkCollision.left === false || body2.checkCollision.right === false)
|
83447
83552
|
{
|
83448
83553
|
overlap = 0;
|
83449
83554
|
}
|
@@ -83471,9 +83576,10 @@ Phaser.Physics.Arcade.prototype = {
|
|
83471
83576
|
* @method Phaser.Physics.Arcade#getOverlapY
|
83472
83577
|
* @param {Phaser.Physics.Arcade.Body} body1 - The first Body to separate.
|
83473
83578
|
* @param {Phaser.Physics.Arcade.Body} body2 - The second Body to separate.
|
83579
|
+
* @param {boolean} overlapOnly - Is this an overlap only check, or part of separation?
|
83474
83580
|
* @return {float} Returns the amount of vertical overlap between the two bodies.
|
83475
83581
|
*/
|
83476
|
-
getOverlapY: function (body1, body2) {
|
83582
|
+
getOverlapY: function (body1, body2, overlapOnly) {
|
83477
83583
|
|
83478
83584
|
var overlap = 0;
|
83479
83585
|
var maxOverlap = body1.deltaAbsY() + body2.deltaAbsY() + this.OVERLAP_BIAS;
|
@@ -83489,7 +83595,7 @@ Phaser.Physics.Arcade.prototype = {
|
|
83489
83595
|
// Body1 is moving down and/or Body2 is moving up
|
83490
83596
|
overlap = body1.bottom - body2.y;
|
83491
83597
|
|
83492
|
-
if ((overlap > maxOverlap) || body1.checkCollision.down === false || body2.checkCollision.up === false)
|
83598
|
+
if ((overlap > maxOverlap && !overlapOnly) || body1.checkCollision.down === false || body2.checkCollision.up === false)
|
83493
83599
|
{
|
83494
83600
|
overlap = 0;
|
83495
83601
|
}
|
@@ -83506,7 +83612,7 @@ Phaser.Physics.Arcade.prototype = {
|
|
83506
83612
|
// Body1 is moving up and/or Body2 is moving down
|
83507
83613
|
overlap = body1.y - body2.bottom;
|
83508
83614
|
|
83509
|
-
if ((-overlap > maxOverlap) || body1.checkCollision.up === false || body2.checkCollision.down === false)
|
83615
|
+
if ((-overlap > maxOverlap && !overlapOnly) || body1.checkCollision.up === false || body2.checkCollision.down === false)
|
83510
83616
|
{
|
83511
83617
|
overlap = 0;
|
83512
83618
|
}
|
@@ -83539,13 +83645,13 @@ Phaser.Physics.Arcade.prototype = {
|
|
83539
83645
|
*/
|
83540
83646
|
separateX: function (body1, body2, overlapOnly) {
|
83541
83647
|
|
83542
|
-
var overlap = this.getOverlapX(body1, body2);
|
83648
|
+
var overlap = this.getOverlapX(body1, body2, overlapOnly);
|
83543
83649
|
|
83544
83650
|
// Can't separate two immovable bodies, or a body with its own custom separation logic
|
83545
83651
|
if (overlapOnly || overlap === 0 || (body1.immovable && body2.immovable) || body1.customSeparateX || body2.customSeparateX)
|
83546
83652
|
{
|
83547
83653
|
// return true if there was some overlap, otherwise false
|
83548
|
-
return (overlap !== 0);
|
83654
|
+
return (overlap !== 0) || (body1.embedded && body2.embedded);
|
83549
83655
|
}
|
83550
83656
|
|
83551
83657
|
// Adjust their positions and velocities accordingly (if there was any overlap)
|
@@ -83609,13 +83715,13 @@ Phaser.Physics.Arcade.prototype = {
|
|
83609
83715
|
*/
|
83610
83716
|
separateY: function (body1, body2, overlapOnly) {
|
83611
83717
|
|
83612
|
-
var overlap = this.getOverlapY(body1, body2);
|
83718
|
+
var overlap = this.getOverlapY(body1, body2, overlapOnly);
|
83613
83719
|
|
83614
83720
|
// Can't separate two immovable bodies, or a body with its own custom separation logic
|
83615
83721
|
if (overlapOnly || overlap === 0 || (body1.immovable && body2.immovable) || body1.customSeparateY || body2.customSeparateY)
|
83616
83722
|
{
|
83617
83723
|
// return true if there was some overlap, otherwise false
|
83618
|
-
return (overlap !== 0);
|
83724
|
+
return (overlap !== 0) || (body1.embedded && body2.embedded);
|
83619
83725
|
}
|
83620
83726
|
|
83621
83727
|
// Adjust their positions and velocities accordingly (if there was any overlap)
|
@@ -83989,15 +84095,22 @@ Phaser.Physics.Arcade.prototype = {
|
|
83989
84095
|
/**
|
83990
84096
|
* Find the distance between two display objects (like Sprites).
|
83991
84097
|
*
|
84098
|
+
* The optional `world` argument allows you to return the result based on the Game Objects `world` property,
|
84099
|
+
* instead of its `x` and `y` values. This is useful of the object has been nested inside an offset Group,
|
84100
|
+
* or parent Game Object.
|
84101
|
+
*
|
83992
84102
|
* @method Phaser.Physics.Arcade#distanceBetween
|
83993
84103
|
* @param {any} source - The Display Object to test from.
|
83994
84104
|
* @param {any} target - The Display Object to test to.
|
84105
|
+
* @param {boolean} [world=false] - Calculate the distance using World coordinates (true), or Object coordinates (false, the default)
|
83995
84106
|
* @return {number} The distance between the source and target objects.
|
83996
84107
|
*/
|
83997
|
-
distanceBetween: function (source, target) {
|
84108
|
+
distanceBetween: function (source, target, world) {
|
83998
84109
|
|
83999
|
-
|
84000
|
-
|
84110
|
+
if (world === undefined) { world = false; }
|
84111
|
+
|
84112
|
+
var dx = (world) ? source.world.x - target.world.x : source.x - target.x;
|
84113
|
+
var dy = (world) ? source.world.y - target.world.y : source.y - target.y;
|
84001
84114
|
|
84002
84115
|
return Math.sqrt(dx * dx + dy * dy);
|
84003
84116
|
|
@@ -84008,16 +84121,23 @@ Phaser.Physics.Arcade.prototype = {
|
|
84008
84121
|
* The calculation is made from the display objects x/y coordinate. This may be the top-left if its anchor hasn't been changed.
|
84009
84122
|
* If you need to calculate from the center of a display object instead use the method distanceBetweenCenters()
|
84010
84123
|
*
|
84124
|
+
* The optional `world` argument allows you to return the result based on the Game Objects `world` property,
|
84125
|
+
* instead of its `x` and `y` values. This is useful of the object has been nested inside an offset Group,
|
84126
|
+
* or parent Game Object.
|
84127
|
+
*
|
84011
84128
|
* @method Phaser.Physics.Arcade#distanceToXY
|
84012
84129
|
* @param {any} displayObject - The Display Object to test from.
|
84013
84130
|
* @param {number} x - The x coordinate to move towards.
|
84014
84131
|
* @param {number} y - The y coordinate to move towards.
|
84132
|
+
* @param {boolean} [world=false] - Calculate the distance using World coordinates (true), or Object coordinates (false, the default)
|
84015
84133
|
* @return {number} The distance between the object and the x/y coordinates.
|
84016
84134
|
*/
|
84017
|
-
distanceToXY: function (displayObject, x, y) {
|
84135
|
+
distanceToXY: function (displayObject, x, y, world) {
|
84136
|
+
|
84137
|
+
if (world === undefined) { world = false; }
|
84018
84138
|
|
84019
|
-
var dx = displayObject.x - x;
|
84020
|
-
var dy = displayObject.y - y;
|
84139
|
+
var dx = (world) ? displayObject.world.x - x : displayObject.x - x;
|
84140
|
+
var dy = (world) ? displayObject.world.y - y : displayObject.y - y;
|
84021
84141
|
|
84022
84142
|
return Math.sqrt(dx * dx + dy * dy);
|
84023
84143
|
|
@@ -84027,19 +84147,24 @@ Phaser.Physics.Arcade.prototype = {
|
|
84027
84147
|
* Find the distance between a display object (like a Sprite) and a Pointer. If no Pointer is given the Input.activePointer is used.
|
84028
84148
|
* The calculation is made from the display objects x/y coordinate. This may be the top-left if its anchor hasn't been changed.
|
84029
84149
|
* If you need to calculate from the center of a display object instead use the method distanceBetweenCenters()
|
84030
|
-
*
|
84150
|
+
*
|
84151
|
+
* The optional `world` argument allows you to return the result based on the Game Objects `world` property,
|
84152
|
+
* instead of its `x` and `y` values. This is useful of the object has been nested inside an offset Group,
|
84153
|
+
* or parent Game Object.
|
84031
84154
|
*
|
84032
84155
|
* @method Phaser.Physics.Arcade#distanceToPointer
|
84033
84156
|
* @param {any} displayObject - The Display Object to test from.
|
84034
84157
|
* @param {Phaser.Pointer} [pointer] - The Phaser.Pointer to test to. If none is given then Input.activePointer is used.
|
84158
|
+
* @param {boolean} [world=false] - Calculate the distance using World coordinates (true), or Object coordinates (false, the default)
|
84035
84159
|
* @return {number} The distance between the object and the Pointer.
|
84036
84160
|
*/
|
84037
|
-
distanceToPointer: function (displayObject, pointer) {
|
84161
|
+
distanceToPointer: function (displayObject, pointer, world) {
|
84038
84162
|
|
84039
|
-
pointer
|
84163
|
+
if (pointer === undefined) { pointer = this.game.input.activePointer; }
|
84164
|
+
if (world === undefined) { world = false; }
|
84040
84165
|
|
84041
|
-
var dx = displayObject.x - pointer.worldX;
|
84042
|
-
var dy = displayObject.y - pointer.worldY;
|
84166
|
+
var dx = (world) ? displayObject.world.x - pointer.worldX : displayObject.x - pointer.worldX;
|
84167
|
+
var dy = (world) ? displayObject.world.y - pointer.worldY : displayObject.y - pointer.worldY;
|
84043
84168
|
|
84044
84169
|
return Math.sqrt(dx * dx + dy * dy);
|
84045
84170
|
|
@@ -84048,54 +84173,86 @@ Phaser.Physics.Arcade.prototype = {
|
|
84048
84173
|
/**
|
84049
84174
|
* Find the angle in radians between two display objects (like Sprites).
|
84050
84175
|
*
|
84176
|
+
* The optional `world` argument allows you to return the result based on the Game Objects `world` property,
|
84177
|
+
* instead of its `x` and `y` values. This is useful of the object has been nested inside an offset Group,
|
84178
|
+
* or parent Game Object.
|
84179
|
+
*
|
84051
84180
|
* @method Phaser.Physics.Arcade#angleBetween
|
84052
84181
|
* @param {any} source - The Display Object to test from.
|
84053
84182
|
* @param {any} target - The Display Object to test to.
|
84183
|
+
* @param {boolean} [world=false] - Calculate the angle using World coordinates (true), or Object coordinates (false, the default)
|
84054
84184
|
* @return {number} The angle in radians between the source and target display objects.
|
84055
84185
|
*/
|
84056
|
-
angleBetween: function (source, target) {
|
84186
|
+
angleBetween: function (source, target, world) {
|
84057
84187
|
|
84058
|
-
|
84059
|
-
var dy = target.y - source.y;
|
84188
|
+
if (world === undefined) { world = false; }
|
84060
84189
|
|
84061
|
-
|
84190
|
+
if (world)
|
84191
|
+
{
|
84192
|
+
return Math.atan2(target.world.y - source.world.y, target.world.x - source.world.x);
|
84193
|
+
}
|
84194
|
+
else
|
84195
|
+
{
|
84196
|
+
return Math.atan2(target.y - source.y, target.x - source.x);
|
84197
|
+
}
|
84062
84198
|
|
84063
84199
|
},
|
84064
84200
|
|
84065
84201
|
/**
|
84066
84202
|
* Find the angle in radians between a display object (like a Sprite) and the given x/y coordinate.
|
84067
84203
|
*
|
84204
|
+
* The optional `world` argument allows you to return the result based on the Game Objects `world` property,
|
84205
|
+
* instead of its `x` and `y` values. This is useful of the object has been nested inside an offset Group,
|
84206
|
+
* or parent Game Object.
|
84207
|
+
*
|
84068
84208
|
* @method Phaser.Physics.Arcade#angleToXY
|
84069
84209
|
* @param {any} displayObject - The Display Object to test from.
|
84070
84210
|
* @param {number} x - The x coordinate to get the angle to.
|
84071
84211
|
* @param {number} y - The y coordinate to get the angle to.
|
84212
|
+
* @param {boolean} [world=false] - Calculate the angle using World coordinates (true), or Object coordinates (false, the default)
|
84072
84213
|
* @return {number} The angle in radians between displayObject.x/y to Pointer.x/y
|
84073
84214
|
*/
|
84074
|
-
angleToXY: function (displayObject, x, y) {
|
84215
|
+
angleToXY: function (displayObject, x, y, world) {
|
84075
84216
|
|
84076
|
-
|
84077
|
-
var dy = y - displayObject.y;
|
84217
|
+
if (world === undefined) { world = false; }
|
84078
84218
|
|
84079
|
-
|
84219
|
+
if (world)
|
84220
|
+
{
|
84221
|
+
return Math.atan2(y - displayObject.world.y, x - displayObject.world.x);
|
84222
|
+
}
|
84223
|
+
else
|
84224
|
+
{
|
84225
|
+
return Math.atan2(y - displayObject.y, x - displayObject.x);
|
84226
|
+
}
|
84080
84227
|
|
84081
84228
|
},
|
84082
84229
|
|
84083
84230
|
/**
|
84084
84231
|
* Find the angle in radians between a display object (like a Sprite) and a Pointer, taking their x/y and center into account.
|
84085
84232
|
*
|
84233
|
+
* The optional `world` argument allows you to return the result based on the Game Objects `world` property,
|
84234
|
+
* instead of its `x` and `y` values. This is useful of the object has been nested inside an offset Group,
|
84235
|
+
* or parent Game Object.
|
84236
|
+
*
|
84086
84237
|
* @method Phaser.Physics.Arcade#angleToPointer
|
84087
84238
|
* @param {any} displayObject - The Display Object to test from.
|
84088
84239
|
* @param {Phaser.Pointer} [pointer] - The Phaser.Pointer to test to. If none is given then Input.activePointer is used.
|
84240
|
+
* @param {boolean} [world=false] - Calculate the angle using World coordinates (true), or Object coordinates (false, the default)
|
84089
84241
|
* @return {number} The angle in radians between displayObject.x/y to Pointer.x/y
|
84090
84242
|
*/
|
84091
|
-
angleToPointer: function (displayObject, pointer) {
|
84092
|
-
|
84093
|
-
pointer = pointer || this.game.input.activePointer;
|
84243
|
+
angleToPointer: function (displayObject, pointer, world) {
|
84094
84244
|
|
84095
|
-
|
84096
|
-
|
84245
|
+
if (pointer === undefined) { pointer = this.game.input.activePointer; }
|
84246
|
+
if (world === undefined) { world = false; }
|
84097
84247
|
|
84098
|
-
|
84248
|
+
if (world)
|
84249
|
+
{
|
84250
|
+
return Math.atan2(pointer.worldY - displayObject.world.y, pointer.worldX - displayObject.world.x);
|
84251
|
+
}
|
84252
|
+
else
|
84253
|
+
{
|
84254
|
+
return Math.atan2(pointer.worldY - displayObject.y, pointer.worldX - displayObject.x);
|
84255
|
+
}
|
84099
84256
|
|
84100
84257
|
},
|
84101
84258
|
|
@@ -84110,12 +84267,7 @@ Phaser.Physics.Arcade.prototype = {
|
|
84110
84267
|
*/
|
84111
84268
|
worldAngleToPointer: function (displayObject, pointer) {
|
84112
84269
|
|
84113
|
-
|
84114
|
-
|
84115
|
-
var dx = pointer.worldX - displayObject.world.x;
|
84116
|
-
var dy = pointer.worldY - displayObject.world.y;
|
84117
|
-
|
84118
|
-
return Math.atan2(dy, dx);
|
84270
|
+
return this.angleToPointer(displayObject, pointer, true);
|
84119
84271
|
|
84120
84272
|
}
|
84121
84273
|
|
@@ -84284,6 +84436,14 @@ Phaser.Physics.Arcade.Body = function (sprite) {
|
|
84284
84436
|
*/
|
84285
84437
|
this.bounce = new Phaser.Point();
|
84286
84438
|
|
84439
|
+
/**
|
84440
|
+
* The elasticity of the Body when colliding with the World bounds.
|
84441
|
+
* By default this property is `null`, in which case `Body.bounce` is used instead. Set this property
|
84442
|
+
* to a Phaser.Point object in order to enable a World bounds specific bounce value.
|
84443
|
+
* @property {Phaser.Point} worldBounce
|
84444
|
+
*/
|
84445
|
+
this.worldBounce = null;
|
84446
|
+
|
84287
84447
|
/**
|
84288
84448
|
* @property {Phaser.Point} maxVelocity - The maximum velocity in pixels per second sq. that the Body can reach.
|
84289
84449
|
* @default
|
@@ -84567,8 +84727,9 @@ Phaser.Physics.Arcade.Body.prototype = {
|
|
84567
84727
|
|
84568
84728
|
this.updateBounds();
|
84569
84729
|
|
84570
|
-
this.position.x = (this.sprite.world.x - (this.sprite.anchor.x * this.width)) + this.offset.x;
|
84571
|
-
this.position.y = (this.sprite.world.y - (this.sprite.anchor.y * this.height)) + this.offset.y;
|
84730
|
+
this.position.x = (this.sprite.world.x - (this.sprite.anchor.x * this.sprite.width)) + this.offset.x;
|
84731
|
+
this.position.y = (this.sprite.world.y - (this.sprite.anchor.y * this.sprite.height)) + this.offset.y;
|
84732
|
+
|
84572
84733
|
this.rotation = this.sprite.angle;
|
84573
84734
|
|
84574
84735
|
this.preRotation = this.rotation;
|
@@ -84703,29 +84864,32 @@ Phaser.Physics.Arcade.Body.prototype = {
|
|
84703
84864
|
var bounds = this.game.physics.arcade.bounds;
|
84704
84865
|
var check = this.game.physics.arcade.checkCollision;
|
84705
84866
|
|
84867
|
+
var bx = (this.worldBounce) ? -this.worldBounce.x : -this.bounce.x;
|
84868
|
+
var by = (this.worldBounce) ? -this.worldBounce.y : -this.bounce.y;
|
84869
|
+
|
84706
84870
|
if (pos.x < bounds.x && check.left)
|
84707
84871
|
{
|
84708
84872
|
pos.x = bounds.x;
|
84709
|
-
this.velocity.x *=
|
84873
|
+
this.velocity.x *= bx;
|
84710
84874
|
this.blocked.left = true;
|
84711
84875
|
}
|
84712
84876
|
else if (this.right > bounds.right && check.right)
|
84713
84877
|
{
|
84714
84878
|
pos.x = bounds.right - this.width;
|
84715
|
-
this.velocity.x *=
|
84879
|
+
this.velocity.x *= bx;
|
84716
84880
|
this.blocked.right = true;
|
84717
84881
|
}
|
84718
84882
|
|
84719
84883
|
if (pos.y < bounds.y && check.up)
|
84720
84884
|
{
|
84721
84885
|
pos.y = bounds.y;
|
84722
|
-
this.velocity.y *=
|
84886
|
+
this.velocity.y *= by;
|
84723
84887
|
this.blocked.up = true;
|
84724
84888
|
}
|
84725
84889
|
else if (this.bottom > bounds.bottom && check.down)
|
84726
84890
|
{
|
84727
84891
|
pos.y = bounds.bottom - this.height;
|
84728
|
-
this.velocity.y *=
|
84892
|
+
this.velocity.y *= by;
|
84729
84893
|
this.blocked.down = true;
|
84730
84894
|
}
|
84731
84895
|
|
@@ -84824,8 +84988,8 @@ Phaser.Physics.Arcade.Body.prototype = {
|
|
84824
84988
|
this.angularVelocity = 0;
|
84825
84989
|
this.angularAcceleration = 0;
|
84826
84990
|
|
84827
|
-
this.position.x = (x - (this.sprite.anchor.x * this.width)) + this.offset.x;
|
84828
|
-
this.position.y = (y - (this.sprite.anchor.y * this.height)) + this.offset.y;
|
84991
|
+
this.position.x = (x - (this.sprite.anchor.x * this.sprite.width)) + this.offset.x;
|
84992
|
+
this.position.y = (y - (this.sprite.anchor.y * this.sprite.height)) + this.offset.y;
|
84829
84993
|
|
84830
84994
|
this.prev.x = this.position.x;
|
84831
84995
|
this.prev.y = this.position.y;
|
@@ -92056,9 +92220,10 @@ Phaser.Tilemap.prototype = {
|
|
92056
92220
|
* @param {number} [width] - The rendered width of the layer, should never be wider than Game.width. If not given it will be set to Game.width.
|
92057
92221
|
* @param {number} [height] - The rendered height of the layer, should never be wider than Game.height. If not given it will be set to Game.height.
|
92058
92222
|
* @param {Phaser.Group} [group] - Optional Group to add the object to. If not specified it will be added to the World group.
|
92223
|
+
* @param {boolean} [pixiTest] - Temporary additional flag to enable tests of the PIXI.Tilemap renderer
|
92059
92224
|
* @return {Phaser.TilemapLayer} The TilemapLayer object. This is an extension of Phaser.Sprite and can be moved around the display list accordingly.
|
92060
92225
|
*/
|
92061
|
-
createLayer: function (layer, width, height, group) {
|
92226
|
+
createLayer: function (layer, width, height, group, pixiTest) {
|
92062
92227
|
|
92063
92228
|
// Add Buffer support for the left of the canvas
|
92064
92229
|
|
@@ -92079,6 +92244,11 @@ Phaser.Tilemap.prototype = {
|
|
92079
92244
|
return;
|
92080
92245
|
}
|
92081
92246
|
|
92247
|
+
if ( pixiTest )
|
92248
|
+
{
|
92249
|
+
return group.add(new Phaser.TilemapLayerGL(this.game, this, index, width, height));
|
92250
|
+
}
|
92251
|
+
|
92082
92252
|
return group.add(new Phaser.TilemapLayer(this.game, this, index, width, height));
|
92083
92253
|
|
92084
92254
|
},
|