Richard Davey
123e61c018
The Game Object Bounds component has been updated so that it now provides setters for all of the properties, as well as getters. Previously Sprite.left
, Sprite.right
, Sprite.top
and Sprite.bottom
were read-only, but they are now available to be set as well, and take into consideration the anchor and scale of the Game Objects.
2016-06-16 00:33:48 +01:00
Richard Davey
d67e902760
Rectangle.getPoint is a new method that returns a point based on the given location constant, such as Phaser.BOTTOM_LEFT
. It returns the same result as calling Rectangle.bottomLeft
(etc) but unlike those getters you are able to provide your own Point object.
2016-06-15 23:39:15 +01:00
Richard Davey
64a44aab17
Added the following new constants: Phaser.TOP_LEFT
, Phaser.TOP_CENTER
, Phaser.TOP_RIGHT
, Phaser.MIDDLE_LEFT
, Phaser.MIDDLE_CENTER
, Phaser.MIDDLE_RIGHT
, Phaser.BOTTOM_LEFT
, Phaser.BOTTOM_CENTER
and Phaser.BOTTOM_RIGHT
.
2016-06-15 23:37:48 +01:00
Richard Davey
32cf1f1a9c
Group.createMultiple can now accept Arrays for both the key
and frame
arguments. This allows you to create multiple sprites using each key and/or frame in the arrays, which is a great and quick way to build diverse Groups. See the JSDocs for complete details and code examples.
2016-06-15 22:36:23 +01:00
photonstorm
bc00c900e9
BitmapData.smoothProperty is a new property that holds the string based prefix needed to set image scaling on the BitmapData context.
...
BitmapData.copyTransform allows you to draw a Game Object to the BitmapData, using its `worldTransform` property to control the location, scaling and rotation of the object. You can optionally provide
BitmapData.drawGroup now uses the new `copyTransform` method, to provide for far more accurate results. Previously nested Game Objects wouldn't render correctly, nor would Sprites added via `addChild` to another Sprite. BitmapText objects also rendered without rotation taken into account, and the Sprites smoothing property was ignored. All of these things are now covered by the new drawGroup method, which also handles full deep iteration down the display list.
2016-06-14 15:29:56 +01:00
photonstorm
ad3641830d
Phaser.Matrix if passed a 0 value would consider it falsy, and replace it with the default by mistake. It now checks if the arguments are undefined
or null
and only then sets the defaults (thanks mmcs)
2016-06-14 12:18:23 +01:00
photonstorm
1a3b06a9f4
The DisplayObject.worldRotation
value didn't sign the wt.c
value correctly, meaning the rotation would be wrong.
...
The `DisplayObject.worldScale` value didn't multiply the local objects scale into the calculation, meaning the value wasn't a true representation of the objects world scale.
2016-06-13 17:01:03 +01:00
photonstorm
0880380ea9
Phaser 2.4.9 RC4.
2016-06-10 16:22:54 +01:00
Richard Davey
cd8bb5a216
Removed keyCode modifier ( #2542 )
2016-06-09 22:03:09 +01:00
photonstorm
88f47e2497
Keyboard now uses a new internal method getKeyCode
to normalize the key code value based on browser support. It first checks for event.key
, then event.keyIdentifier
and finally event.keyCode
(thanks @SVasilev #2542 )
2016-06-09 16:37:32 +01:00
photonstorm
a65f9c7e4b
Group.onChildInputDown is a new Signal that you can listen to. It will be dispatched whenever any immediate child of the Group emits an onInputDown
signal itself. This allows you to listen for a Signal from the Group, rather than every Sprite within it.
...
Group.onChildInputUp is a new Signal that you can listen to. It will be dispatched whenever any immediate child of the Group emits an `onInputUp` signal itself. This allows you to listen for a Signal from the Group, rather than every Sprite within it.
Group.onChildInputOver is a new Signal that you can listen to. It will be dispatched whenever any immediate child of the Group emits an `onInputOver` signal itself. This allows you to listen for a Signal from the Group, rather than every Sprite within it.
Group.onChildInputOut is a new Signal that you can listen to. It will be dispatched whenever any immediate child of the Group emits an `onInputOut` signal itself. This allows you to listen for a Signal from the Group, rather than every Sprite within it.
2016-06-09 16:19:11 +01:00
photonstorm
99aeae5e4d
Docs update.
2016-06-09 14:58:41 +01:00
photonstorm
e8e7e27184
The DisplayObject.renderOrderID
used to run in reverse. I.e. in a display list with 10 sprites on it, the first sprite (at the bottom of the list, rendering behind all the others) would have a renderOrderID
of 9, where-as the top-most sprite, rendering above all others, would have a renderOrderID
of 0. While this didn't cause any side-effects internally, it's arguably illogical. So the process has been reversed, and renderOrderID
s are now accumulative, starting at zero each frame, and increasing as it iterates down the display list. So the higher the ID, the more "on-top" of the output the object is.
...
`InputHandler.validForInput` and `Pointer.processInteractiveObjects` have been updated to reflect the new `renderOrderID` sequence (see above).
2016-06-09 12:32:37 +01:00
photonstorm
e5c4f7729d
Docs update.
2016-06-09 11:37:01 +01:00
Richard Davey
1956d3584e
InputHandler.dragStopBlocksInputUp is a boolean that allows you to control what happens with the input events. If false
(the default) then both the onInputUp
and onDragStop
events will get dispatched when a Sprite stops being dragged. If true
then only the onDragStop
event is dispatched, and the onInputUp
is skipped.
2016-06-07 02:21:12 +01:00
Richard Davey
df92c45420
There are two new Phaser consts available, for help with orientation of games or Game Objects. They are Phaser.HORIZONTAL
, Phaser.VERTICAL
, Phaser.LANDSCAPE
and Phaser.PORTRAIT
.
2016-06-07 01:45:33 +01:00
Richard Davey
66b846cbdb
InputHandler.dragDistanceThreshold gives you more fine control over when a Sprite Drag event will start. It allows you to specify a distance, in pixels, that the pointer must have moved before the drag will begin.
...
InputHandler.dragTimeThreshold gives you more fine control over when a Sprite Drag event will start. It allows you to specify a time, in ms that the pointer must have been held down for, before the drag will begin.
InputHandler.downPoint is a new Point object that contains the coordinates of the Pointer when it was first pressed down on the Sprite.
2016-06-07 01:28:06 +01:00
photonstorm
5492ed0d64
Docs update.
2016-06-06 11:15:38 +01:00
Richard Davey
de3d749385
Farthest swapped for the more common Furthest.
2016-06-05 23:01:00 +01:00
Richard Davey
56759f46fd
Docs update.
2016-06-05 21:23:13 +01:00
photonstorm
61f064dfe9
Docs update.
2016-06-03 16:45:47 +01:00
photonstorm
93b1f3eba1
Math.between will return a value between the given min
and max
values.
2016-06-03 16:18:35 +01:00
photonstorm
ee6f277b31
PluginManager.remove has a new argument destroy
(defaults to true
) which will let you optionally called the destroy
method of the Plugin being removed.
2016-06-03 15:52:17 +01:00
photonstorm
0da7cf5ffd
There are a bunch of new Phaser consts available to help with setting the angle of a Game Object. They are Phaser.ANGLE_UP
, ANGLE_DOWN
, ANGLE_LEFT
, ANGLE_RIGHT
, ANGLE_NORTH_EAST
, ANGLE_NORTH_WEST
, ANGLE_SOUTH_EAST
and ANGLE_SOUTH_WEST
.
2016-06-03 15:19:18 +01:00
photonstorm
96711f4db9
Added the Weapon Plugin and worked lots on its docs.
2016-06-03 15:09:43 +01:00
photonstorm
9ae43757b9
Group.removeAll has a new argument destroyTexture
which allows you to optionally destroy the BaseTexture of each child, as it is removed from the Group (thanks @stoneman1 #2487 )
2016-06-03 13:11:03 +01:00
photonstorm
84c60d4e87
Within RequestAnimationFrame both updateRAF
and updateSetTimeout
now only call game.update
if isRunning
is true. This should avoid asynchronous Game destroy errors under environments like Angular (thanks @flogvit #2521 )
2016-06-03 13:00:45 +01:00
Richard Davey
097add1aa6
Game Objects including Sprite, Image, Particle, TilemapLayer, Text, BitmapText and TileSprite have a new property called data
. This is an empty Object that Phaser will never touch internally, but your own code, or Phaser Plugins, can store Game Object specific data within it. This allows you to associate data with a Game Object without having to pollute or change its class shape.
2016-06-03 01:08:32 +01:00
Richard Davey
1d5ff625b2
Docs update.
2016-06-02 22:45:35 +01:00
photonstorm
68c29470cf
The way the display list updates and Camera movements are handled has been completely revamped, which should result is significantly smoother motion when the Camera is following tweened or physics controlled sprites. The Stage.postUpdate
function is now vastly reduced in complexity. It takes control over updating the display list (calling updateTransform
on itself), rather than letting the Canvas or WebGL renderers do this. Because of this change, the Camera.updateTarget
function uses the Sprites worldPosition
property instead, which is now frame accurate (thanks @whig @Upperfoot @Whoisnt @hexus #2482 )
2016-06-02 16:38:21 +01:00
photonstorm
87529ee39e
Docs update.
2016-06-02 15:46:16 +01:00
photonstorm
63a1336bd5
Sound.addMarker now has a default value for the duration
argument (1 second) to avoid the DOM Exception 11 error if you accidentally miss it out (thanks @mari8i #2508 )
2016-06-02 15:29:51 +01:00
photonstorm
21b5492e98
Video.onComplete wouldn't fire on iOS if the user hit the 'Done' button before the video had finished playing. It now uses the webkitendfullscreen
event to detect this, and dispatches the onComplete
signal should that event fire (thanks @kelu-smiley #2498 )
2016-06-02 15:26:11 +01:00
photonstorm
97905e0021
Docs update.
2016-06-02 15:02:44 +01:00
photonstorm
07ef075e92
Phaser.Line.intersectsRectangle checks for intersection between a Line and a Rectangle, or any Rectangle-like object such as a Sprite or Body.
2016-05-24 02:30:00 +01:00
photonstorm
9b9e398c73
InputHandler.checkPointerDown had an incorrect single pipe character |, instead of an OR check ||, and an isDown
check, causing Button Over events to fail (thanks @pengchuan #2486 )
2016-05-23 13:03:11 +01:00
photonstorm
09dd84565e
Arcade Physics Body incorrectly positioned if the Sprite had a negative scale (see http://www.html5gamedevs.com/topic/22695-247-248-body-anchoring-any-migration-tips/ ) (thanks @SBCGames @icameron @Nuuf @EvolViper #2488 #2490 )
2016-05-23 12:46:01 +01:00
photonstorm
7844ad927c
Preparing for 2.4.9 dev.
2016-05-23 12:32:37 +01:00
photonstorm
d1234d1685
Preparing for 2.5.0 dev.
2016-05-19 13:45:51 +01:00
photonstorm
9f28d0659d
Phaser 2.4.8 release.
2016-05-19 12:36:51 +01:00
photonstorm
a6a2c61240
Sprites that had a tint on them, that then had their frame changed via either Sprite.frame
or Sprite.frameName
wouldn't re-tint the new frame, and would become stuck on the old frame in Canvas mode (thaks @spayton #2453 )
2016-05-17 21:04:40 +01:00
photonstorm
d161a7f6bc
Sounds played using the Audio tag, set to loop, would get caught in an endless pause-play loop cycle (thanks @rroylance #2473 )
2016-05-17 16:43:11 +01:00
photonstorm
54683b7fb2
Sounds played using the Audio tag, that were paused and then resumed again (either directly in code, or via a game pause event) would not resume from the point at which they paused (thanks @rroylance #2473 )
2016-05-16 15:16:19 +01:00
photonstorm
02e8b1ae0a
If you set Game.renderType to Phaser.HEADLESS
it will no longer render the output to the canvas. The canvas is still created (although not added to the DOM), as it's required internally, but no rendering now takes place on it (thanks @ForgeableSum #2464 )
2016-05-16 14:53:11 +01:00
photonstorm
ac89d1aec7
Arcade Physics Body has a new property worldBounce
. This controls the elasticity of the Body specifically when colliding with the World bounds. By default this property is null
, in which case Body.bounce is used instead. Set this property to a Phaser.Point object in order to enable a World bounds specific bounce value (thanks @VitaZheltyakov #2465 )
2016-05-16 13:53:12 +01:00
photonstorm
f9994fac75
Fixed a bug in Arcade Physics Body.preUpdate which would incorrectly apply the position of an offset Body (one which has had Body.setSize used on it) when combined with a Sprite with a non-zero anchor (thanks @SBCGames #2470 )
2016-05-16 13:39:46 +01:00
photonstorm
19dce62734
Arcade Physics has had a new world
argument added to the following functions: distanceBetween
, distanceToXY
, distanceToPointer
, angleBetween
, angleToXY
and angleToPointer
. The argument (which is false by default), when enabled will calculate the angles or distances based on the Game Objects world
property, instead of its x
and y
properties. This allows it to work for objects that are placed in offset Groups, or are children of other display objects (thanks @Skeptron for the thread #2463 )
2016-05-16 13:31:57 +01:00
photonstorm
a26bd55811
TS defs fix #2475
2016-05-16 13:03:48 +01:00
photonstorm
4fd2524c61
Text.setStyle has a new argument update
which will optionally automatically call updateText
after setting the new style (thanks @staff0rd #2478 )
2016-05-16 12:55:27 +01:00
photonstorm
f34b567295
BitmapData.copy, and by extension any method that uses it, including BitmapData.draw, drawGroup and drawFull, now all support drawing RenderTexture objects. These can either be passed directly, or be the textures of Sprites, such as from a call to generateTexture.
2016-05-12 03:48:14 +01:00
photonstorm
94832677b9
Docs update.
2016-05-11 16:39:39 +01:00
photonstorm
9649f714bb
InputHandler.checkPointerDown and checkPointerOver will now test the worldTransform scale property of a Sprite. If zero it will fast return, where-as before it would incorrectly report an up event (thanks @jaapaurelio #2466 )
2016-05-11 12:25:35 +01:00
photonstorm
a2ba13e33f
Docs update.
2016-05-11 11:27:36 +01:00
photonstorm
16203a378a
PIXI.defaultRenderer is now set to null
in Game.destroy, allowing it to be reset if a new Game instance is created on the same page (thanks @xtforgame ##2474)
2016-05-11 11:27:36 +01:00
Morton Fox
e125696ccd
Update link to CONTRIBUTING.md
2016-05-07 00:43:13 -04:00
photonstorm
b008fc7216
Readme update.
2016-04-28 00:18:08 +01:00
photonstorm
16378713b4
JSDocs update ( #249 )
2016-04-27 12:57:41 +01:00
photonstorm
f494c867c7
Fixed an issue in the Arcade Physics overlap method where it would only detect overlaps up to the max bias threshold and no further (thanks @rgk #2441 )
...
The Arcade Physics overlap method would return false if two bodies were overlapping but neither had any velocity (i.e. they were embedded into each other)
2016-04-25 11:38:51 +01:00
photonstorm
620b95e510
Updated docs and TS defs re: #2443
2016-04-23 04:36:47 +01:00
photonstorm
6bc93de7a5
Preparing for 2.4.8 dev.
2016-04-23 04:32:47 +01:00
photonstorm
a29cc64932
Phaser 2.4.7 Final.
2016-04-22 15:15:28 +01:00
photonstorm
b441ee315f
Docs update.
2016-04-22 11:56:06 +01:00
photonstorm
7d9c817373
Dragging a Sprite while the camera was moving would slowly cause the Sprite position to become out of sync the further the camera moved. A Sprite being dragged now tracks the camera position during the drag update and adjusts accordingly (thanks @jeroenverfallie #1044 )
2016-04-19 01:54:24 +01:00
photonstorm
628dd1c420
P2.Body.offset is now used and applied to the Sprite position during rendering. The values given are normal pixel values, and offset the P2 Body from the center of the Sprite (thanks @Mourtz #2430 )
2016-04-18 20:57:41 +01:00
photonstorm
a2d145a43d
When the Loader loads audio via the Audio tag, instead of Web Audio, it used to use Phaser.GAMES[_this.game.id].load
as the callback handler, which would stop it from working if you had multiple Loaders set-up within Phaser. It now uses a local reference to _this
instead (thanks @SBCGames #2435 )
2016-04-18 16:44:28 +01:00
photonstorm
257a22b170
When loading Video with the asBlob
argument set it now uses a 'blob' type for the XHR loader, and doesn't cast the resulting file as a Blob upon load. This fixes loading videos as blobs on Chrome for Android (thanks @JuCarr #2433 )
2016-04-18 16:17:27 +01:00
photonstorm
41add1b4bf
Phaser 2.4.7 RC1.
2016-04-14 13:23:44 +01:00
photonstorm
aad499b025
Tidying up the code base for 2.4.7.
2016-04-14 12:43:10 +01:00
photonstorm
5221bfd5da
You can now pass in your own Canvas element to Phaser and it will use that instead of creating one itself. To do so you must pass a Game Configuration object to Phaser when you instantiate it, and set the canvas
property of the config object to be the DOM element you wish to use, i.e.: { canvas: document.getElementById('yourCanvas') }
(thanks @Friksel #2311 )
2016-04-14 11:57:10 +01:00
photonstorm
48ff74b718
Text update.
2016-04-14 11:48:08 +01:00
photonstorm
150e443875
Docs update to include browserify info #2424
2016-04-13 16:05:03 +01:00
photonstorm
1f8e352b7c
Docs update.
2016-04-13 15:44:21 +01:00
photonstorm
a6528aa9fc
Docs fix.
2016-04-13 15:44:21 +01:00
photonstorm
d04a6ec402
Docs update.
2016-04-12 02:21:02 +01:00
photonstorm
f4277efc20
Alternative snooker-ball like collision test.
2016-04-11 16:43:17 +01:00
photonstorm
7102a34706
Camera.flash is a new function that makes the camera 'flash' over the top of your game. It works by filling the game with the solid fill color specified, and then fading it away to alpha 0 over the duration given. This is great for things like hit effects. You can listen for the Camera.onflashComplete Signal.
...
Camera.fade is a new function that makes the camera fade to the color given, over the course of the duration specified. This is great for things like transitioning from one State to another. You can listen for the Camera.onFadeComplete Signal.
Camera.resetFX resets any active FX, such as a fade or flash and immediately clears it. Useful to calling after a fade in order to remove the fade from the Stage.
Phaser.Camera.ENABLE_FX is a const that controls if the Camera FX are available or not. It's `true` by default, but if you set it to `false` before boot then it won't create the Graphics object required to process the effects.
2016-04-09 04:05:07 +01:00
photonstorm
2ea94c83e6
Camera.shake is a new function that creates a camera shake effect. You can specify the intensity, duration and direction of the effect. You can also set if it should shake the camera out of bounds or not.
2016-04-09 02:57:16 +01:00
photonstorm
dba84d5931
Camera has a new property: lerp
. This is a Point object, that allows you to control the amount of horizontal and vertical smoothing to be applied to the camera when it tracks a Sprite. It works both with and without deadzones, and is turned off by default. Set it to low values such as 0.1 for really smooth motion tracking (thanks to @WombatTurkey for the idea of adding this)
2016-04-09 01:07:19 +01:00
photonstorm
cc5361dd6d
World.separate has been optimized to cut down on the number of calls to intersect
from 3 calls per Game Object collision check, to 2. So if you were colliding 50 sprites it will reduce the call count from 150 to 100 per frame. It also reduces the calls made to seperateX
and seperateY
by the same factor.
...
Two immovable bodies would never set their overlap data, even if an overlap only check was being made. As this is useful data to have this has been changed. Two immovable bodies will still never separate from each other, but they _will_ have their `overlapX` and `overlapY` properties calculated now.
2016-04-07 18:04:45 +01:00
photonstorm
50e126f59e
* Body has two new properties: left
and top
. These are the same as Body.x
and Body.y
but allow you to pass the Body to geometry level functions such as Circle.contains.
...
* Body.setCircle allows you to define a Body as using a circle to collide with instead of a rectangle. You can set the radius of the collision circle and an offset.
* Body.render now renders both circle and rectangle body shapes to the Debug canvas.
* World.intersects has been updated to support both circle and rectangle body shapes, and supports quick-paths for circle vs. circle and rect vs. rect checks.
* World.circleBodyIntersects is a new method that checks for intersection between a Body that has been defined as a circle, and a normal rectangle based Body. This is used internally by World.intersects, but exposed for direct calls as well.
2016-04-07 17:01:16 +01:00
photonstorm
b9f62e77e6
You can now pass a TilemapLayer as a Texture to a TileSprite. A limitation of this is that if you pass it to a TileSprite it will make a fill pattern from the TilemapLayer at that instant it's passed, and it won't keep track of the layer in future should it update (thanks @jdnichollsc #1989 )
2016-04-07 03:45:21 +01:00
photonstorm
e5ceb7e9bc
P2.World.setBounds has been re-written completely. If the World is resized it no longer removes the P2 body instances and re-creates them. Instead it checks to see which walls are required and then just moves the position of the shapes instead, or updates them, or creates or destroys them as required. This is far more efficnent, especially in a game which see's a lot of world bounds changes (i.e. resizes responsively in browser)
2016-04-07 01:56:42 +01:00
photonstorm
5c261821fe
P2.World.updateBoundsCollisionGroup didn't set the _boundsOwnGroup
private var, meaning the World.setBounds
method wasn't able to restore previously set collision masks automatically (thanks @jmp909 #2183 )
2016-04-07 01:25:52 +01:00
photonstorm
4d5a037ae5
P2.World.updateBoundsCollisionGroup wouldn't use the boundsCollisionGroup
mask if you passed true
as the argument, only if it was left undefined.
2016-04-07 01:18:19 +01:00
photonstorm
787111c12c
A Game Object with fixedToCamera = true
that was then set for Input, and enabled for dragging from its center (input.enableDrag(true)
) would throw an error upon being dragged (thanks @solusipse #2367 )
2016-04-07 00:44:53 +01:00
photonstorm
fc7b5c79e3
Graphics objects can now have a Physics Body directly attached to them, where-as before it would throw an error due to a lack of anchor property (thanks @NLilley #2400 )
2016-04-07 00:14:41 +01:00
photonstorm
896b32a28c
SoundManager.muteOnPause is a new boolean that allows you to control if the Sound system gets muted automatically when a Phaser game pauses, such as when it loses focus. You may need to set this to false
if you wish to control the audio system from outside of your Phaser game, i.e. from DOM buttons or similar ( #2382 )
2016-04-06 02:09:22 +01:00
photonstorm
61bc4a8dca
Sound.play when using an AudioTag would ignore the muted state of the SoundManager and play regardless. It now checks the SoundManager.mute state on play, and sets the volume accorindingly (thanks @brianbunch #2139 )
2016-04-06 01:41:54 +01:00
photonstorm
03ea59940c
Docs update.
2016-04-06 01:29:16 +01:00
photonstorm
988290631f
When setting a global volume for the SoundManager it would previously incorrectly calculate the volumes of AudioTag based Sound objects that were not played at volume 1. The new approach uses Sound.updateGlobalVolume which adjusts the Sound volume to be a percentage of the global volume. So if the global volume is 0.5 and the Sound volume is 0.5, the Sound will play with an actual volume of 0.25 (thanks @VitaZheltyakov #2325 )
2016-04-06 01:19:32 +01:00
photonstorm
4d69b13977
Passing a BitmapData to a TileSprite as a texture would fail if the BitmapData had not been previously added to the cache. It now uses the new frameData property (thanks @mzamateo @lucap86 #2380 )
2016-04-06 00:44:55 +01:00
photonstorm
0c2ac47981
Camera.position would return the view rectangles centerX/Y coordinates, instead of view.x/y (which is what Camera.x/y returns), so it has been updated to return view.x/y instead (thanks @kamparR #2120 )
2016-04-06 00:18:01 +01:00
photonstorm
ecbff44354
Group.getByName searches the Group for the first instance of a child with the name
property matching the given argument. Should more than one child have the same name only the first instance is returned.
2016-04-05 23:59:05 +01:00
photonstorm
65f8f111c8
Game.forceSingleUpdate is now true
by default.
2016-04-05 23:40:15 +01:00
photonstorm
4c3a30a6f6
PluginManager.destroy is now called by Game.destroy.
2016-04-05 23:16:52 +01:00
photonstorm
6933b41e6f
Arcade.Body's speed property was only set when the body moved, it now updates regardless (thanks @mark-henry #2417 )
2016-04-05 23:06:57 +01:00
photonstorm
aee0212e11
Camera.follow now uses the Targets world
property to seed the camera coordinates from, rather than its local position. This means Sprites that are members of offset Groups, or transformed display lists, should now be followed more accurately (thanks @rbozan #2106 )
2016-04-05 23:04:31 +01:00
photonstorm
8ad7b25595
The Debug canvas now listens for the ScaleManager.onSizeChange signal and resizes itself accordingly when running under WebGL. This means if your game size changes the Debug canvas won't be clipped off (thanks @francisberesford #1919 )
2016-04-05 21:52:11 +01:00
photonstorm
b3e6381a9e
Tween.update wouldn't dispatch an onLoop
signal for Tweens with just one child, such as those created via Tween.to with -1 as the repeat value (thanks @ForgeableSum #2407 )
2016-04-05 01:11:50 +01:00
photonstorm
917d9c7060
TweenData.repeatTotal is a new property that keeps track of the total number of times the Tween should repeat. If TweenData.start is called, as a result of the Tween repeatCount being > 0 then the child tween resets its total before re-starting.
2016-04-05 01:06:05 +01:00
photonstorm
f9949166be
Text that used fonts which had numbers in their names wouldn't be correctly rendered unless you explicitly set the font property after creation. You can now pass font names with numbers in them as the font style object correctly (thanks @And-0 #2390 )
2016-04-04 23:20:04 +01:00
photonstorm
bc4b828b51
BitmapData.copy, and by extension draw, drawFull, drawGroup, etc, would incorrectly handle drawing a tinted Sprite if it was using a frame from a texture atlas (thanks @PhaserDebugger #2405 )
2016-04-04 22:53:13 +01:00
photonstorm
12f3bd6cc5
The Destroy component will now call TweenManager.removeFrom, removing any active tweens from the TweenManager upon the Game Objects destructions (thanks @PokemonAshLovesMyTurkeyAndILikeYouTwo #2408 )
...
Tween.update will now return `false` (flagging the Tween for destruction) should the Tween.target property every become falsey. This can happen if the object the Tween was tracking is destroyed, nulled or generally removed..
2016-04-04 22:06:16 +01:00
photonstorm
63b3b3e887
Negative lineSpacing in Text objects will no longer crop the bottom pixels off lines of text (thanks @gaelenh #2379 #2374 )
2016-04-04 21:36:37 +01:00
photonstorm
f9ff892510
Formatting.
2016-04-04 21:25:21 +01:00
photonstorm
723f94cd3b
Updated docs.
2016-04-04 21:21:30 +01:00
photonstorm
40221d7cf7
Docs update.
2016-04-04 17:15:51 +01:00
Richard Davey
268b13392b
README update.
2016-03-01 23:24:55 +00:00
Richard Davey
0c48c2d6a8
* Added P2.Body.thrustLeft which will move the Body to the left by the speed given (thanks James Pryor)
...
* Added P2.Body.thrustRight which will move the Body to the right by the speed given (thanks James Pryor)
2016-03-01 22:31:58 +00:00
photonstorm
ede6806e41
The default state of the internal property _boundDispatch
in Phaser.Signal is now false
, which allows for use of boundDispatches (thanks @alvinlao #2346 )
2016-02-26 13:40:35 +00:00
photonstorm
08ce659447
Sound.position can no longer become negative, meaning calls to AudioContextNode.start with negative position offsets will no longer throw errors (thanks @Weedshaker #2351 )
2016-02-26 13:36:19 +00:00
photonstorm
15d952171c
SoundManager.destroy doesn't close the context if it's being stored in PhaserGlobal (thanks @brianbunch #2356 )
2016-02-26 13:31:45 +00:00
photonstorm
cc3a07bada
SoundManager.close now validates that context.close is a valid function before calling it (thanks @brianbunch #2355 )
2016-02-26 13:29:35 +00:00
photonstorm
1b5e3853dc
README update.
2016-02-26 13:23:24 +00:00
photonstorm
ba5981a03f
Removed a console.log from the TilingSprite generator.
2016-02-19 14:46:55 +00:00
photonstorm
ad6f0557f7
Preparing for 2.4.7 development.
2016-02-18 15:06:43 +00:00
photonstorm
47123c192d
2.4.6 Build files + docs + TS Docs.
2016-02-18 14:41:53 +00:00
photonstorm
0b5a4391f1
StateManager.destroy now sets clearCache
and clearWorld
internally before clearing the current state, as otherwise they would have been left untouched, such as from Game.destroy (thanks @i-dimitrov #2138 )
2016-02-18 13:10:54 +00:00
photonstorm
9acf7c223e
Docs and TS updates.
2016-02-18 13:05:00 +00:00
photonstorm
17071b578c
BaseTexture.destroy wasn't correctly removing the texture from the BaseTextureCache if it was a cached CanvasPool entry (such as Text objects use), causing drawImage errors in Canvas mode, and just blank textures in WebGL (thanks @civet #2339 )
2016-02-18 12:59:40 +00:00
photonstorm
46cc05a377
Groups now check for child.parent
before calling removeFromHash
(thanks @spayton #2323 #2338 )
2016-02-18 12:29:01 +00:00
Richard Davey
8aefd0fe9b
Preparing for 2.4.6 development.
2016-02-17 16:28:27 +00:00
photonstorm
e25d944d67
Small typo fix.
2016-02-17 13:42:14 +00:00
photonstorm
34c484367c
Phaser 2.4.5 Build files.
2016-02-17 13:27:09 +00:00
Richard Davey
e6c508edcd
Color.updateColor would pass color.a
to the getColor32
method without first putting the value into the range 0 - 255 (thanks @mainpsyhos #2327 )
2016-02-17 03:50:06 +00:00
Richard Davey
f6d273c4fc
DisplayObject._generateCachedSprite (which is called from updateCache
or when cacheAsBitmap
is enabled) would bitwise | 1 the bounds width and height. This would often lead to incorrect rounding (heights of 4 would become 5, while heights of 5 would remain 5). This has now been removed and the width and height are passed through Mail.ceil and then checked to make sure they aren't less than 1 pixel in either direction (thanks @alesdotio #2078 )
2016-02-17 03:40:04 +00:00
Richard Davey
b629539176
SpriteBatch incorrectly applied the PIXI SpriteBatch prototype over the top of Phaser.Group meaning that Sprites with animations wouldn't render correctly (thanks @qdrj #1951 )
2016-02-17 03:23:56 +00:00
Richard Davey
0c52b9316a
Text with lineSpacing set wouldn't apply the lineSpacing to the final line of text in the Text string, or to text with just single lines. This could lead to incorrect height calculations for further layout and unwanted padding at the bottom of Text objects (thanks @Lopdo #2137 )
2016-02-17 03:14:51 +00:00
Richard Davey
15411f1e56
Tween.onLoop would be fired when a Tween repeated and Tween.onRepeat would be fired when a Tween looped. These are now reversed to fire correctly (thanks @vladkens #2024 )
2016-02-17 02:57:45 +00:00
Richard Davey
071d9cffd0
Graphics.generateTexture has a new argument padding
which allows you to add extra spacing onto the generated texture. This is useful for small Graphics objects where you find a few pixels getting sliced off the edges due to rounding issues ( #1933 )
2016-02-17 02:31:29 +00:00
Richard Davey
74fd042749
If the Mouse was over a Sprite and you then clicked it, it would dispatch another Over event. This is now surpressed if the Over event has already been dispatched previously (thanks @McFarts #2133 )
...
InputHandler.pointerOver could fail to return anything in some instances, now always returns a boolean.
2016-02-17 02:07:07 +00:00
Richard Davey
83a35e41d6
ctrl + click is now only considered a right-click if event.buttons = 1, this should allow you to use ctrl as a key modifier on Windows (and any device with a multi-button mouse attached) and still use ctrl + click on OS X / trackpads for a right-click (thanks @yuvalsv #2167 )
2016-02-17 01:46:55 +00:00
Richard Davey
1932515f56
Fixed a really nasty bug in Chrome OS X where a ctrl + click (i.e. simulated right-click) on a trackpad would lock up the Pointer leftButton, causing future clicks to fail. This is now handled by way of a mouseout listener on the window object, sadly the only way to force a mouseup in Chrome (thanks @KyleU #2286 )
2016-02-17 01:26:35 +00:00
Richard Davey
989e443aca
Docs update.
2016-02-09 14:01:10 +00:00
Richard Davey
92479eb03f
* Device.safariVersion now holds the major version of the Safari browser.
...
* Device.edge is a boolean that is set if running under the Microsoft Edge browser.
* Device.dolby is a boolean that is set if the browser can play EC-3 Dolby Digital Plus files
* The Loader and SoundManager can now play Dolby Digital Plus files on supported devices.
2016-02-09 13:17:14 +00:00
Richard Davey
30b563085b
The z
property assigned to children of a Group now starts from zero instead of 1, this is an internal change mostly but if you relied on the z
property for some reason then please be aware of this (thanks pantoninho)
2016-02-09 11:31:46 +00:00
Richard Davey
3d459103b4
Merge branch 'pr/2331' into dev
...
# Conflicts:
# README.md
2016-02-09 11:15:31 +00:00
Richard Davey
2e1b5a8f66
Updated readme.
2016-02-07 13:31:01 +00:00
Richard Davey
5801f1aa15
jshint fixes.
2016-02-04 23:39:58 +00:00
Richard Davey
818c64291a
SinglePad.onDownCallback has been moved to the end of the method, so that DeviceButton.start is now called before the callback fires, meaning if you check the status of the button in the onDownCallback it will now be fully activated (thanks @suicidepills #2159 )
2016-02-04 22:46:18 +00:00
photonstorm
829b1e7ad1
Events.onDragUpdate has a new 6th property fromStart
which is a boolean. You can determine if the event was the result of the start of a drag movement or not by polling it ( #2155 )
2016-02-04 17:00:30 +00:00
photonstorm
882c8b8d40
InputHandler.consumePointerEvent has been removed, as it was never used internally anyway, so was misleading (thanks @GregoryAveryWeir #2227 )
2016-02-04 16:46:35 +00:00
photonstorm
9787474c6e
Camera.checkBounds now takes the scale of the Camera into account (thanks @ForGorNorPor #2263 )
2016-02-04 16:26:18 +00:00
photonstorm
a7c360425f
Tidying up code and docs.
2016-02-04 16:23:40 +00:00
photonstorm
4574f310c3
Docs update.
2016-02-04 16:21:27 +00:00
photonstorm
af4c938299
Docs update ( #1967 )
2016-02-04 16:05:45 +00:00
photonstorm
5bcfa08af6
Text.useAdvancedWrap allows you to swap between the Basic and the Advanced word wrapping functions. In Advanced it will wrap long-words and condense and trim excess white space (thanks @soldoutactivist #1811 )
2016-02-04 16:00:21 +00:00
photonstorm
afc96352de
PIXI.WebGLGraphics.stencilBufferLimit is a new integer that allows you to define how many points exist in a Graphics object before Pixi swaps to using the Stencil Buffer to render it. The default is now 64 (originally 6). This fixes issues with things like Quadratic curves not rendering as masks in WebGL.
2016-02-04 14:52:35 +00:00
photonstorm
c3c2dd6067
Graphics.arc has a new argument segments
that allows you to control how many segments are created when the arc is drawn. The default is 40. Use a higher number for more fidelity, i.e. if you find that reversed arcs are not joining up fully ( #2064 )
2016-02-04 13:49:55 +00:00
photonstorm
8076f64656
We have replaced the PolyK Triangulation calls within Pixi with EarCut 2.0.8. This allows for faster polygon triangulation, and also deals with more complex polygons that PolyK would crash on.
2016-02-04 13:23:01 +00:00
Richard Davey
33604901c4
TilingSprite would ignore the renderable
property, and render it regardless. Now it skips render if renderable
is false (thanks @Green92 #2214 )
2016-02-04 00:09:30 +00:00
Richard Davey
4e7fad353e
Loader.audiosprite is renamed to Loader.audioSprite (the old one still works for legacy reasons) (thanks @epaezrubio #2145 )
2016-02-03 23:53:50 +00:00
Richard Davey
0610ddd15f
SoundManager.setTouchLock is no longer set if SoundManager.noAudio is true, or if the PhaserGlobal setting disableAudio
is true (thanks @bcjordan #2206 )
2016-02-03 23:23:36 +00:00
Richard Davey
a4c5fb9660
BitmapData.drawGroup can now handle drawing Emitters and BitmapText objects that are part of the Group.
2016-02-03 23:08:54 +00:00
Richard Davey
3b686f906f
Moved the Sound.disconnect after the Sound.stop call in Web Audio ( #2280 )
2016-02-03 22:22:22 +00:00
Richard Davey
a0eb44ec09
Group.add and Group.addAt would forget to remove the child from the hash of its previous Group if it had a physics body enabled, causing unbounded hash increase (thanks @strawlion @McIntozh #2232 )
2016-02-03 21:51:01 +00:00
Richard Davey
10209dc8f5
GameObject.revive used to add the health amount given to the Game Object (via heal
) instead of setting it as the new health amount. It now calls setHealth
instead, giving it the exact amount (thanks @netgfx #2231 )
...
GameObject.revive will now set the health amount to 100 instead of 1, bringing it in-line with the `maxHealth` default value.
2016-02-03 21:44:06 +00:00
Richard Davey
a1c3050bf7
Tilemap.getObjectIndex has been removed as it didn't work correctly in most cases, and it's easier to just scan the Tilemap.objects object directly anyway ( #2242 )
2016-02-03 21:35:35 +00:00
Richard Davey
3bc8dcd154
The width and height values passed to the Game constructor are now passed through Math.floor first. This ensures you can never create a game width non-integer dimensions, which has all kinds of implications - from browser performance to breaking things like TileSprite rendering ( #2262 )
2016-02-03 19:11:26 +00:00
Richard Davey
2d2101adcb
Both transparent
and antialias
were ignored if set to false
in a Game configuration object, as the parseConfig
method didn't check for falsey values (thanks @amadeus #2302 )
2016-02-03 12:28:12 +00:00
Richard Davey
e04504f481
Tweens with 'yoyo' set on them couldn't be re-used again because the start and end properties were left in a reversed state. When a yoyo tween ends it now restores the reversed values (thanks @SBCGames #2307 )
2016-02-03 12:24:22 +00:00
Richard Davey
034428e92c
Sprite (and all Game Objects) have a new argument in their destroy method: destroyTexture
. This boolean (which is false by default) controls if the BaseTexture of the Game Object should be destroyed or not. This is extremely useful in situations where you've got a lot of dynamic assets you no longer need, such as textures created from BitmapDatas. You must set the destroyTexture
argument yourself. This can be done in a custom Game Object destroy method or as part of your state shutdown ( #2261 )
2016-02-03 11:41:37 +00:00
Richard Davey
75d6bbb251
Updated defs and improved jsdocs for #2277
2016-02-02 23:37:08 +00:00
Richard Davey
741cf1e0ed
Huge TypeScript defs update (thanks to @clark-stevenson - this is all of the changes from #2156 merged into the current build)
2016-02-02 23:30:03 +00:00
Richard Davey
5e7f864c04
Docs update.
2016-02-02 22:58:52 +00:00
photonstorm
8cf96a2f78
Docs fix #2271
2016-02-02 16:28:33 +00:00
photonstorm
ddbc72cbf4
Docs update #2265
2016-02-02 16:26:20 +00:00
photonstorm
044a91d2a4
Docs update.
2016-02-02 16:19:10 +00:00
Richard Davey
5703178ee4
Removed reference to Lynda 'free' courses ( #2266 )
2016-02-02 01:24:16 +00:00
Richard Davey
068252fc50
Docs update.
2016-02-02 01:08:50 +00:00
Richard Davey
2a1bf389b5
Added a typescript section to the bower and npm configs to support tsd link
(thanks @mjohnsonengr #2189 #2180 )
2016-02-02 00:49:07 +00:00
Richard Davey
7c43f28161
Docs update.
2016-02-02 00:49:07 +00:00
Richard Davey
5893224f10
The Style object passed in to Phaser.Text is now cloned instead of referenced. This means you can adjust single Text instances without invaliding other Text objects using the same style object (thanks @asyncanup #2267 )
2016-02-02 00:29:46 +00:00
Richard Davey
34aff350eb
The Video game object used an anonymous bound function for both the 'ended' and 'playing' event listeners, meaning that they were never removed properly (thanks @ramalhovfc #2303 )
2016-02-02 00:18:50 +00:00
Richard Davey
2bf3ede746
Docs update.
2016-02-01 17:23:44 +00:00
Richard Davey
eaf582ba4f
Readme update.
2016-02-01 17:06:17 +00:00
Richard Davey
1087db6c2b
Docs update.
2016-02-01 16:53:29 +00:00
Richard Davey
c21c317d9f
Docs update.
2016-02-01 16:47:46 +00:00
Richard Davey
76e2dc66ee
Fixed docs ( #2216 )
2016-02-01 16:42:03 +00:00
Richard Davey
a74edd1ee9
Docs and defs.
2016-02-01 16:38:06 +00:00
Richard Davey
3350c537c7
Defs update and README update.
2016-02-01 16:30:41 +00:00
Richard Davey
0ecd1c6170
Emitter methods at
, explode
, flow
, kill
, revive
, setAlpha
, setRotation
, setScale
, setSize
, setXSpeed
, setYSpeed
and start
now return the Emitter instance for better method chaining (thanks @samme #2308 )
2016-02-01 16:30:41 +00:00
photonstorm
6a868cba5e
BitmapText.cleanText is a new method that will scan the given text and either remove or replace all characters that are not present in the font data. It is called automatically by BitmapText.updateText
.
2016-01-13 15:15:51 +00:00
photonstorm
172f972d8c
Pausing a Sound that used a Marker for playback would fire the onMarkerComplete
signal by mistake as well as stop the fadeTween. This Signal is now only dispatched if Sound.stop is called and the Sound isn't paused (thanks Corin)
2015-12-02 12:41:20 +00:00
Timo Sand
1083fff4ca
Fixes to webpack example
2015-11-23 21:06:43 +02:00
Timo Sand
0762350d23
DOCS Adds documentation on Webpack usage
2015-11-22 18:06:40 +02:00
photonstorm
609b38c6e1
BitmapData.update causes a snowballing memory leak under WebGL due to a Context.getImageData call. BitmapData.clear used to call update automatically but no longer does. This resolves the issue of the Debug class causing excessive memory build-up in Chrome. Firefox and IE were unaffected (thanks @kingjerod #2208 )
2015-11-17 14:07:56 +00:00
photonstorm
8b0224e7b4
TilemapParser accidentally redeclared i
when parsing the ImageCollections which would cause an infinite loop (thanks DanHett)
2015-11-12 13:39:42 +00:00
Richard Davey
799efa3079
You can use the new const Phaser.PENDING_ATLAS
as the texture key for any sprite. Doing this then sets the key to be the frame
argument (the frame is set to zero). This allows you to create sprites using load.image
during development, and then change them to use a Texture Atlas later in development by simply searching your code for 'PENDING_ATLAS' and swapping it to be the key of the atlas data.
2015-10-31 01:04:14 +00:00
photonstorm
efc69ff463
Buttons (or any Sprites) that don't have a texture, but have children, would incorrectly render the children under WebGL due to the baseTexture.skipRender property (thanks @puzzud #2141 )
2015-10-16 16:44:51 +01:00
photonstorm
8a4a1528e4
Preparing for 2.4.5 dev.
2015-10-15 12:22:01 +01:00
photonstorm
c9c85330ab
2.4.4 Release.
2015-10-15 12:06:38 +01:00
photonstorm
99751a5e8e
BaseTexture.skipRender is a new boolean that can be set to skip the rendering phase in the WebGL Sprite Batch. You may want to do this if you have a parent Sprite with no visible texture (i.e. uses the internal __default
texture) that has children that you do want to render, without causing a batch flush in the process.
2015-10-15 11:39:59 +01:00
photonstorm
d1233ad229
Phaser 2.4.4 RC1.
2015-10-13 14:10:55 +01:00
photonstorm
45d92d4217
ScaleMin and ScaleMax stopped working in Phaser 2.3.0 due to an incorrect transform callback scope (thanks @brianbunch #2132 )
2015-10-13 13:32:55 +01:00
photonstorm
bd53b61ffd
Sprite.getBounds would report an inaccurate value if the sprite was negatively scaled (causing things like generateTexture to be cut off) (thanks @DavidAPC #2108 )
2015-10-13 13:02:49 +01:00
photonstorm
84373dc478
Removed use of the tilePosition
property in the Phaser.Rope class as it isn't implemented and caused calls to Rope.reset
to crash (thanks @spayton #2135 )
2015-10-13 12:20:02 +01:00
photonstorm
8e4dc1f078
ScaleManager.getParentBounds now checks if parentNode
has an offsetParent
before calling getBoundingClientRect
on it (thanks @McFarts #2134 )
2015-10-13 12:04:57 +01:00
photonstorm
b91de47d8d
Readme and JSDocs updates.
2015-10-13 12:01:08 +01:00
photonstorm
84624bd8f5
Readme update.
2015-10-07 12:00:53 +01:00
photonstorm
bf0bd9657e
Updated readme and build scripts.
2015-09-30 11:20:14 +01:00
Richard Davey
0064d969ce
Also excluded PIXI.PolyK from the build if Graphics not included (as only WebGL Graphics used it)
2015-09-29 16:27:10 +01:00
Richard Davey
084c453fcc
Added the PIXI.WebGLGraphics and PIXI.CanvasGraphics files to the Graphics custom build option. They weren't used anyway and this removes an extra 35.5KB from the build size.
2015-09-29 16:15:07 +01:00
Richard Davey
200a2a37bf
New stubs added to Grunt tasks.
2015-09-29 16:06:59 +01:00
Richard Davey
8899eddd9a
BitmapData.clear now automatically calls BitmapData.update at the end of it.
2015-09-29 14:02:26 +01:00
Richard Davey
cbf9b3f71f
WebGLRenderer.mapBlendModes optimised to cut down on file size.
2015-09-26 00:58:02 +01:00
Richard Davey
d0930bc161
Keyboard.addCallbacks didn't check to see if the arguments were null
, only if they were undefined
making the jsdocs misleading.
2015-09-23 23:18:36 +01:00
photonstorm
832034af94
Typo fix.
2015-09-23 14:04:04 +01:00
photonstorm
de5283b989
The default Button.onOverMouseOnly value has changed from false
to true
. If you used this in your touch enabled games then please be aware of this change ( #2083 )
2015-09-22 15:24:52 +01:00
photonstorm
0dee1157fc
PIXI.WebGLRenderer.updateTexture now returns a boolean depending on if the texture was successfully bound to the gl context or not.
...
PIXI.WebGLSpriteBatch.renderBatch would still try and render a texture even if `updateTexture` failed to bind it. It now checks the return value from `updateTexture` and ignores failed binds.
2015-09-22 15:20:23 +01:00
photonstorm
2633f8ce6d
InputHandler.validForInput now checks if the game object has input.enabled
set to false
and doesn't validate it for input if that's the case.
2015-09-22 15:20:23 +01:00
photonstorm
f64fc42f3e
The SoundManager now detects if the browser is running under iOS9 and uses a touchend callback to unlock the audio subsystem. Previous versions of iOS (and Android) still use touchstart. This fixes Apple's screw-up with regard to changing the way Web Audio should be triggered in Mobile Safari. Thanks Apple (thanks @MyCatCarlos for the heads-up #2095 )
2015-09-22 11:46:58 +01:00
Richard Davey
d86d01bd25
Camera.setBoundsToWorld only adjusts the bounds if it exists (thanks @prudolfs #2099 )
2015-09-20 21:07:28 +01:00
Richard Davey
96de58cc5f
Added lots more info to the jsdocs and tidied up the code for #2056
2015-09-19 11:50:26 +01:00
photonstorm
4c5dfc4847
Optimised getSmoothingEnabled, setSmoothingEnabled and setImageRenderingCrisp.
2015-09-15 14:18:00 +01:00
photonstorm
b9fcb7f179
Optimised size of PIXI.CanvasRenderer.mapBlendModes and started removal of options object.
2015-09-15 13:54:17 +01:00
photonstorm
a8e972b25a
Under setTimeOut (or when forceSetTimeOut
was true) the Time was incorrectly setting Time.timeExpected
causing game updates to lag (thanks @satan6 #2087 )
2015-09-14 16:31:16 +01:00
photonstorm
8915a570d9
Readme update.
2015-09-14 11:21:48 +01:00
photonstorm
e9cefbfccf
Added base64 polyfill for new Tiled export support.
2015-09-14 11:21:48 +01:00
Richard Davey
83eaf3a574
Added Node.js v4 stable to Travis config (thanks @phillipalexander #2070 )
2015-09-09 22:12:27 +01:00
Richard Davey
6c9e43ad36
DeviceButton was setting a duration
property on itself, which went against the read only getter of duration (thanks @winstonwolff)
2015-09-09 21:58:50 +01:00
photonstorm
90a500ec1e
Game.update could call updateLogic
multiple times in a single frame when catching up with slow device frame rates. This would cause Tweens to advance at twice the speed they should have done (thanks @mkristo)
...
Time.desiredFpsMult is a pre-calculated multiplier used in Game.update.
Time.refresh updates the `Time.time` and `Time.elapsedMS` values and is called automatically by Game.update.
2015-09-09 12:09:18 +01:00
Richard Davey
ee0094f172
Docs update.
2015-09-08 23:00:15 +01:00
photonstorm
7487c15f0e
Doc updates.
2015-09-08 15:56:28 +01:00
Richard Davey
d7a42370a4
BitmapData.move, moveH and moveV have a new optional wrap
argument allowing you to control if the contents of the BitmapData are wrapped around the edges (true) or simply scrolled off (false).
2015-09-07 01:16:43 +01:00
Richard Davey
38eca4d5b9
Filter.addToWorld allows you to quickly create a Phaser.Image object at the given position and size, with the Filter ready applied to it. This can eliminate lots of duplicate code.
2015-09-03 00:46:47 +01:00
Richard Davey
41906c5ac1
When the Text width was being calculated it would add the strokeThickness
value twice, causing an alignment offset (thanks @nickryall #2039 )
2015-08-31 11:33:18 +01:00
Richard Davey
af194d447c
jsdoc fix #2049
2015-08-31 10:57:54 +01:00
photonstorm
32b0c98f7a
Group.resetChild is a new method that allows you to call both child.reset
and/or child.loadTexture
on the given child object. This is used internally by getFirstDead
and similar, but is made public so you can use it as a group iteration callback. Note that the child must have public reset
and loadTexture
methods to be valid for the call.
...
Group.getFirstDead, Group.getFirstAlive and Group.getFirstExists all have new optional arguments: `createIfNull`, `x`, `y`, `key` and `frame`. If the method you call cannot find a matching child (i.e. getFirstDead cannot find any dead children) then the optional `createIfNull` allows you to instantly create a new child in the group using the position and texture arguments to do so. This allows you to always get a child back from the Group and remove the need to do null checks and Group inserts from your game code. The same arguments can also be used in a different way: if `createIfNull` is false AND you provide the extra arguments AND a child is found then it will be passed to the new `Group.resetChild` method. This allows you to retrieve a child from the Group and have it reset and instantly ready for use in your game without any extra code.
2015-08-28 12:23:48 +01:00
Richard Davey
14dd1eabbf
Updated readme.
2015-08-28 09:14:09 +01:00
photonstorm
f0d7da1c56
Removed RND.float as it's a reserved word :(
...
Fixed jshint errors.
2015-08-27 19:28:01 +01:00
photonstorm
ddcc46124c
RandomDataGenerator.float is a new alias for the method 'realInRange' and takes the same arguments.
2015-08-27 14:57:23 +01:00
photonstorm
9798864cc6
Emitter.emitParticle now has 4 new optional arguments: x
, y
, key
and frame
. These allow you to override whatever the Emitter default values may be and emit the particle from the given coordinates and with a new texture.
2015-08-27 14:48:52 +01:00
Richard Davey
a1bd35fc35
Tidied up formatting and improved jsdocs.
2015-08-26 19:13:46 +01:00
photonstorm
1e88bdda70
Loader.bitmapFont wouldn't automatically set the atlasURL
value if just the key was given.
2015-08-25 13:46:28 +01:00
photonstorm
482d3c9882
Preparing for 2.4.4 dev.
2015-08-24 16:01:58 +01:00
photonstorm
db641ca82e
Updated date in the readme.
2015-08-24 15:56:06 +01:00
photonstorm
94223c66b7
Updated blend mode multiply check ( #1994 )
2015-08-24 13:53:46 +01:00
photonstorm
cc7b632a37
Phaser.TilemapParser.INSERT_NULL is a new boolean that controls what happens when the parser encounters an empty tile: When scanning the Tiled map data the TilemapParser can either insert a null value (true) or a Phaser.Tile
instance with an index of -1 (false, the default). Depending on your game type depends how this should be configured. If you've a large sparsely populated map and the tile data doesn't need to change then setting this value to true
will help with memory consumption. However if your map is small, or you need to update the tiles (perhaps the map dynamically changes during the game) then leave the default value set (thanks #1982 )
2015-08-24 12:36:23 +01:00
photonstorm
0cce3f8287
Enabling a filter on a display object that had a blend mode set would cause the object to become invisible. The two cannot be combined, so when you set a filter on a display object it now automatically resets the blend mode to NORMAL
. The same does not happen in reverse however, so if you've got a filter set and then change the blend mode it will still break. Be careful to capture this yourself (thanks @wayfu #1994 )
2015-08-24 12:26:02 +01:00
photonstorm
09f5742410
Tilemap.shuffle was calling the deprecated Phaser.Utils.shuffle, which has now moved to Phaser.ArrayUtils.shuffle.
2015-08-24 12:02:43 +01:00
photonstorm
bcedd921b7
Cache.addSpriteSheet didn't include default values for the frameMax
, margin
and spacing
arguments (thanks @vladkens #2017 #2018 )
2015-08-24 11:43:34 +01:00
photonstorm
845a14ff55
TilingSprite._renderCanvas wasn't correctly allowing for pixel rounding (thanks @ximop #2022
2015-08-24 11:38:59 +01:00
photonstorm
5ffb5b558d
Tilemap.createFromObjects has been strengthened so that will only create Sprites for matching gids/ids/names. It also only sets the Sprite width and height values if they are present in the Tiled data (thanks @pparke #2012 )
2015-08-20 13:22:06 +01:00
photonstorm
22f7aacfcb
Added frameBased to the TweenManager and made Tween.frameBased reference that setting, allowing you to set it once ( #2015 )
2015-08-20 12:59:06 +01:00
photonstorm
99fbf35236
* Pointer.withinGame is no longer automatically set to 'false' in the Pointer.stop method - it will check if the Pointer actually is within the stage bounds and only set withinGame
to false if it's outside the bounds.
...
* MSPointer now has an `onPointerUpGlobal` handler for when the pointer is released outside of the canvas, but still within the browser window. This means that in IE11 a Sprites `onInputUp` event will now trigger even when outside the canvas (thanks @bvargish #2000 )
* MSPointer now has handles for the pointer being over and outside of the canvas element, which sets the Pointer.withinGame booleans accordingly. It also triggers the Mouse.mouseOutCallback and Mouse.mouseOverCallback callbacks respectively.
* The MSPointer event listeners have been renamed to all lower-case, i.e. 'pointerDown' is now 'pointerdown'.
2015-08-20 12:47:50 +01:00
photonstorm
55a7699381
Setting a P2.Body from Static or Kinematic to Dynamic will now automatically adjust the Body.mass to be 1 (thanks @wayfu #2005 )
2015-08-20 11:19:30 +01:00
Richard Davey
994a7dae73
jsdoc fix #2013
2015-08-19 22:19:55 +01:00
photonstorm
103c37cd42
BitmapData.drawFull draws the given Game Object or Group to a BitmapData and then recursively iterates through all of its children, including children of Game Objects and Groups. It can draw Text, BitmapText, Sprites, Images, Emitters and Graphics objects. It's perfectly valid to pass in game.world
as the parent object, and it will iterate through the entire display list.
2015-08-19 14:19:26 +01:00
photonstorm
176289f514
Video.stop now removes the 'playing' event listener, which stop Videos set to loop from throwing errors after being destroyed.
2015-08-18 16:04:10 +01:00
photonstorm
b1a05a6f52
BitmapText.font failed to pull the new font from the Phaser Cache, stopping it from updating properly (thanks @AbrahamAlcaina #2001 )
2015-08-18 13:48:08 +01:00
photonstorm
ac77bb8e46
Fixed download links.
2015-08-18 12:40:24 +01:00
Richard Davey
19584b78a3
Readme update.
2015-08-07 02:56:44 +01:00
Richard Davey
7fbeb1c062
BitmapData.line draws a line to the BitmapData in the color and thickness specified.
...
Lots of BitmapData updates to use local vars and 'op' property, cutting down code size.
2015-08-07 02:48:00 +01:00
Richard Davey
7588e123c7
Line.centerOn will position the Line so that its midpoint lays on the coordinates given.
2015-08-07 01:40:37 +01:00
Richard Davey
614b84e2ea
* Line.rotateAround allows you to rotate a Line around the given coordinates (in world space)
...
* Point.rotate uses a faster and simpler rotation function when no distance argument is specified.
* Line.rotate used a calculation method which resulted in the line growing (or shrinking) in length over time, the more it was rotated. The new method never changes the lines length.
2015-08-07 01:35:31 +01:00
Richard Davey
13e97532b8
Docs update.
2015-08-06 23:36:50 +01:00
photonstorm
8e7b717a50
Line.midPoint will return a Point object where the x and y values correspond to the center (or midpoint) of the Line segment.
2015-08-06 17:10:39 +01:00
photonstorm
9a0b6c24a4
Text can now accept undefined
or null
as the text
argument in the constructor and will cast it as an empty string.
2015-08-06 10:28:49 +01:00
Richard Davey
7fc23c9abe
Text.setTextBounds didn't add the x and y values to the width and height offsets.
2015-08-04 23:06:07 +01:00
photonstorm
1fed360659
VideoStream.active = false is used if the browser supports it, otherwise it falls back to VideoStream.stop.
2015-08-04 15:48:43 +01:00
photonstorm
f4a1f11429
PIXI.CanvasPool is a new static global created to deal with the issue of resource leaks and continuous DOM node build-up when creating lots of Text or BitmapData objects, or when calling generateTexture
on any display object. The CanvasPool will do its best to re-use out dated canvas elements rather than filling up the DOM with new ones.
...
Sprite.setTexture has a new `destroyBase` parameter - set this to `true` if you know the base used a generated texture that isn't being used by any other sprites. This will free-up the canvas for further re-use by other calls to generateTexture or Text objects.
2015-08-03 16:09:16 +01:00
photonstorm
0493e19b8b
Group.cacheAsBitmap would be incorrectly offset in Canvas mode (thanks @mkristo #1925 )
2015-08-03 12:03:20 +01:00
photonstorm
4e857f19f6
BitmapText with tints applied wouldn't update properly in Canvas mode (thanks @Pajamaman #1969 )
2015-08-03 11:51:04 +01:00
photonstorm
1102299173
readme update
2015-08-03 11:44:25 +01:00
photonstorm
98ae410c34
Removed use of the deprecated enterFullScreen
and leaveFullScreen
signals from the Scale Manager (thanks @mmanlod #1972 )
2015-08-03 11:44:00 +01:00
Richard Davey
9362a2b1f4
Text with tints applied wouldn't update properly in Canvas mode.
2015-07-31 19:09:49 +01:00
photonstorm
78fdb224ce
ArrayUtils.numberArrayStep would return an empty array if a single parameter was given, instead of a single step array (thanks @pooya72 #1958 )
2015-07-31 16:21:10 +01:00
photonstorm
f52155bce8
Readme update.
2015-07-31 16:02:25 +01:00
photonstorm
d23e5d6eba
BitmapText.smoothed is a new boolean property that allows you to set texture smoothing on a bitmap font or not. By default smoothing is always on, but you can turn it off which helps for bitmap fonts created from pixel art style character sets.
2015-07-31 15:58:00 +01:00
photonstorm
159f49d5bf
Experimenting with generateTexture fixes for Canvas.
2015-07-30 17:17:31 +01:00
photonstorm
fc83dc6bdf
Tween.frameBased allows you to control if a Tween updates based on the physics step (i.e. frame based) or the system clock (time based). A frame based tween will use the physics elapsed timer when updating. This means it will retain the same consistent frame rate, regardless of the speed of the device. The duration value given should be given in frames. If the Tween uses a time based update (which is the default) then the duration is given in milliseconds. In this situation a 2000ms tween will last exactly 2 seconds, regardless of the device and how many visual updates the tween has actually been through.
2015-07-30 15:27:51 +01:00
photonstorm
c032d57183
Loader.images is a new method that allows you to pass an array of image keys, and optionally the urls, to the Loader and have them all added to the load queue in one go.
2015-07-30 15:01:52 +01:00
photonstorm
1393c8a98b
InputHandler.pointerOver would get stuck in an 'isOver' state if the Sprite changed its visibility during an onUp callback (thanks @Cristy94 #1955 )
2015-07-30 14:45:34 +01:00
photonstorm
a4321e56e3
* Pointer.isDown was reset before the Input.onUp event, meaning you couldn't get the Pointer.duration from within the event.
...
* Pointer.isDown was reset before the Input tap calculations, meaning onTap wouldn't dispatch (thanks @stovenator #1953 )
2015-07-30 14:08:26 +01:00
photonstorm
6139071ebc
Preparing for 2.4.3 dev.
2015-07-29 15:14:40 +01:00
photonstorm
4b22f48c75
2.4.2 release.
2015-07-29 15:01:04 +01:00
photonstorm
962066102c
Pointer fixes for Linux FireFox ( #1932 #1944 )
2015-07-28 14:18:36 +01:00
photonstorm
a8934c392d
Phaser.Sound will now automatically check the Cache to see if the audio file it is using is still there or not. If not then it will automatically called Sound.destroy
on itself. If you do not desire this result then you should ensure that you undertake all house-keeping yourself, and properly destroy Sound objects _before_ calling Cache.removeSound
( #1946 )
2015-07-27 14:02:04 +01:00
photonstorm
fd6c29e451
Pointer.move would accidentally reset the isDown
status of the Pointer on touch devices, which broke things like Sprite input events when built to native apps or run locally ( #1932 #1943 )
2015-07-27 13:34:06 +01:00
Richard Davey
1f73bbbe94
Device.canPlayVideo now checks for ogv
as a valid file extension for OGG video files (thanks @JB-Tellez #1928 )
2015-07-26 13:19:05 +01:00
Richard Davey
50480d815f
* Cache.getFrame has a new cache
parameter (that defaults to the Image cache, but can be changed to any other)
...
* Cache.getFrameCount has a new `cache` parameter (that defaults to the Image cache, but can be changed to any other)
* Cache.getFrameData has a new `cache` parameter (that defaults to the Image cache, but can be changed to any other)
* Cache.hasFrameData has a new `cache` parameter (that defaults to the Image cache, but can be changed to any other)
* Cache.getFrameByIndex has a new `cache` parameter (that defaults to the Image cache, but can be changed to any other)
* Cache.getFrameByName has a new `cache` parameter (that defaults to the Image cache, but can be changed to any other)
re: #1935
2015-07-26 13:14:25 +01:00
Richard Davey
2e12cd70ed
DeviceButton would try to set altKey
, shiftKey
and ctrlKey
even for Joypads (thanks @zatch #1939 )
2015-07-26 13:01:24 +01:00
photonstorm
cef2948ec1
2.4.2 Readme update.
2015-07-24 17:53:17 +01:00
photonstorm
74a8ba0080
Preparing for 2.4.2 dev.
2015-07-24 14:04:30 +01:00
photonstorm
205fe5844d
2.4.1 readme.
2015-07-24 13:25:28 +01:00
photonstorm
444e2cffe5
More tests with the UMD wrapper.
2015-07-24 13:21:33 +01:00
Richard Davey
aeda044143
Safari on OSX wouldn't recognise button presses on trackpads (thanks JakeCake)
2015-07-23 20:54:59 +01:00
photonstorm
1113b8f683
README updated for 2.4.1 changes.
2015-07-23 16:01:16 +01:00
photonstorm
7967d32d52
Creature update.
2015-07-23 13:25:08 +01:00
photonstorm
4c97129916
Updating
2015-07-23 13:25:08 +01:00
Richard Davey
1e6f83dbd3
Preparing for 2.4.1 development.
2015-07-22 17:26:12 +01:00
photonstorm
858ad51610
Phaser 2.4 release.
2015-07-22 15:31:30 +01:00
photonstorm
8eb34f96ce
WebGL context loss and restoration is now handled directly by Phaser.
...
Cache.clearGLTextures empties out all of the GL Textures from Images stored in the cache. This is called automatically when the WebGL context is lost and then restored.
2015-07-22 12:59:32 +01:00
photonstorm
915a757f96
Text.updateText will now check the width and height values of the Text canvas and if either are zero it sets Text.renderable = false
to avoid throwing WebGL texture binding errors.
2015-07-22 12:43:43 +01:00
photonstorm
f15fe6706c
All undefined argument checks were changed from if (typeof x === 'undefined')
to if (x === undefined)
removing the typeof check and saving some bytes across the codebase in the process.
2015-07-22 10:37:15 +01:00
Richard Davey
9e38bf974a
World.stateChange is a new method that is called whenever the state changes or restarts. It resets the world x/y coordinates back to zero and then resets the Camera.
...
Sprites with Arcade Physics bodies that had `collideWorldBounds` enabled would be moved to the wrong position if you restarted a State (or swapped to a new State) that reset the world bounds (thanks @vulvulune #1775 )
2015-07-22 01:24:26 +01:00
Richard Davey
356864ff8a
TweenData.update now uses the Time.elapsedMS
value for its delta calculation, instead of the physicsStep - this is because tweens are inherently time duration based and on a lagging system they were not properly completing when they should do (also addresses #1819 )
2015-07-22 00:09:06 +01:00
Richard Davey
b906463189
Internally the Time class has been updated to split out the RAF and SetTimeout implementations. This cuts down the update loop workload significantly, which was causing a performance optimization bottleneck in V8.
2015-07-21 21:41:26 +01:00
photonstorm
05914d3a95
Preparing readme for release.
2015-07-21 17:07:40 +01:00