- Specific bug fixes (example)
- Scale modes can now be set independently
- Switching between fullscreen and normal correctly restores modes
- Alignment does not incorrectly offset in fullscreen mode
- Changing scale/alignment promptly refreshes layout
- `isFullScreen` returns a boolean, as it should
- Faster parent checks (if required)
- NO_SCALE should not not scale (vs previous behavior of having no behavior)
- Correct usage of scaleMode depending on mode
- Removed / unified code-paths, which helped address several issues
- fullScreenTarget adjustment/restoration is less brutal
- Updated documentation
- pageAlign* works as alignment on the containing element. It should still work were it worked before (so this is not a breaking change) as well as being more universal.
- Added @protected and @private attributes
- Some methods were (implicitly) @public even though using them out of context is invalid
- API Breaking:
- Renamed some INTERNAL/@private methods
- Should only affect methods that were not valid/sane to use publically
- Event callbacks (ie. checkResize changed to resizeWindow) renamed for meaning
- Changed some INTERNAL semantics to better align with usage
- eg. `check*` methods separated from response-to-check
- Added @deprecated/@readonly to various some properties but public properties maintain the same semantics
- Also removed some "cleverness"
- Still same good fixes ..
Polygon.area is now only calculated when the Polygon points list is modified, rather than on every call.
Phaser.Polygon can now accept the points list in a variety of formats: Arrays of Points, numbers, objects with public x/y properties or any combination of, or as a parameter list (thanks @pnstickne for the original implementation #1267)
Polygon.contains now correctly calculates the result (thanks @pnstickne @BurnedToast #1267)
- Fix incorrect passing of "was clicked" to processInteractiveObjects
- Button would not return to Over/Out state because of strict too check to catch `undefined`
- Removed [undocumented] property usage from processInteractiveObjects and slight reformatting
- Update Button state frames/sounds to remove duplication
- Updated documentation in Button for consistency
- Added `enabled` getter; this resets the key (soft) and then disables they key
- Added `_enabled` property and updated internal usage
- Updated document for `reset`.
- backgroundColor now uses valueToColor which supports hex strings, web/rgba strings, and hex numbers.
- valueToColor normalizes across hexToColor/webToColor/getRGB; see comments
- hexToColor now documents the prefix being optional and allows the `0x` prefix.
- webToColor now exctracts an alpha channel if present - as a slight misfeature it will also accept `rgb(..,a)`.
In function override Phaser.Text.prototype.updateText(), don't include this.context.lineWidth in width calculation as it's already incorporated by this.style.strokeThickness.
Particle.Emitter.explode (or `Emitter.start` with the `explode` parameter set to `true`) will immediately emit the required quantity of particles and not delay until the next frame to do so. This means you can re-use a single emitter across multiple places in your game that require explode-style emissions, just by adjusting the `emitter.x` and `emitter.y` properties before calling explode (thanks Insanehero)
Cache.autoResolveURL is a new boolean (default `false`) that automatically builds a cached map of all loaded assets vs. their absolute URLs, for use with Cache.getURL and Cache.checkURL. Note that in 2.1.3 and earlier this was enabled by default, but has since been moved behind this property which needs to be set to `true` *before* you load any assets to enable.
Cache._resolveUrl has been renamed to Cache._resolveURL internally and gained a new parameter. This method is a private internal one.
Cache.getUrl is deprecated. The same method is now available as Cache.getURL.
XML files weren't being added to the URL map.
Cache._resolveURL was causing a Sound double-load in Firefox and causing errors (thanks @domonyiv #1253)
- The `disabled` property of various input classes has been inverted to `enabled`.
Direct/internal usage of `disabled` has been transformed to `!enabled`.
- A `disabled` get/set property has been added to wrap `enabled`, and marked as @deprecated
This ensures current API compatibility.
TilemapLayer
- Added "delta scroll rendering"
- Enabled (by default) via `renderSettings.enableScrollDelta`
- Dramatic CPU reduction: 30% to 2% scrolling 50x37 region
- Side-effect: fixed some Chrome de-opt issues with `render`
- Various rendering updates and removal of many `_mc` field
- Made `index` a read-only propert that reflects the layer.index
- Creates a local cache from tile index -> tileset, added `resetTilesetCache`
- Also prevents crash when an index not associated with a tileset is
used; see `missingImageOverfill`.
- Various debug options moved to `debugSettings` and simplified; documentation updated.
- Uses `debugSettings.missingImageOverfill` and `tileColor` (deprecated) to display invalid tileset images
- Only change the context alpha when the tile alpha changes; in Chrome 38
this removed a .5% penalty
- Added `renderSettings` which controls misc. rendering/optimizations.
- Updated documentation to @member, clarified
Tileset
- Added `containsTileIndex` method to allow being queried if the specific tile index is handled/supported.
- Uses a firstgid bias and interlacing to fit the data in single densely packed array.
- Updated documentation to @member, clarified