Commit graph

59 commits

Author SHA1 Message Date
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
7a6de818e1 Updated Grunt build scripts so that all third party libs (such as Creature, P2, gl-matrix and PIXI) are now kept well and truly outside of Phaser. They are defined and placed first in the build files. So no more PIXI hiding within the Phaser namespace or UMD patching for Phaser required. 2015-07-23 16:00:45 +01:00
photonstorm
94ae9e097e Phaser 2.4.0a release - includes build file fixes for missing PIXI classes like TilingSprite. 2015-07-23 13:25:08 +01:00
photonstorm
858ad51610 Phaser 2.4 release. 2015-07-22 15:31:30 +01:00
photonstorm
000afb74a2 Split out rope and tilesprite as custom tasks. 2015-07-22 12:44:03 +01:00
photonstorm
5d0788b47d Consolidated all Pointer buttons into the new DeviceButton class. 2015-07-17 13:52:09 +01:00
photonstorm
c9aacc7679 Added Phaser.Create in, fixes build task (#1897) 2015-07-10 17:27:01 +01:00
photonstorm
698167a596 Tiled Image Collection support is now available and has been added to the TilemapParser and Tilemap classes (thanks @asyed94 #1879) 2015-07-02 13:53:02 +01:00
photonstorm
a69c156526 The Text Bounds is a rectangular region that allows you to align your text within it, regardless of the number of lines of text or position within the world. For example in an 800x600 sized game if you set the textBounds to be 0,0,800,600 and text alignment to 'left' and vertical alignment to 'bottom' then the text will render in the bottom-right hand corner of the game, regardless of the size of font you're using or the number of lines in the text itself.
Set the Style properties `boundsAlignH` and `boundsAlignV` or adjust them via the Text setters to change the alignment.

It works by calculating the final position based on the Text.canvas size, which is modified as the text is updated. Some fonts have additional padding around them which you can mitigate by tweaking the Text.padding property.

Setting a textBounds _doesn't_ update the wordWrapWidth, so be aware of the relationship between the two.

Call this method with nothing defined for any of the parameters to reset an existing textBounds.

#1824
2015-06-17 17:18:04 +01:00
photonstorm
fb4709fb1a Removed PIXI.BitmapText as it's no longer used. 2015-06-03 05:28:24 +01:00
photonstorm
89a95fa2c3 Added Video to gruntfile. 2015-05-06 07:58:04 +01:00
photonstorm
7674060afc Removed PIXI.EventListener and VideoTexture as it's no longer required. 2015-05-06 01:59:49 +01:00
Steven Rogers
258b549a0d Stubbed Net and Debug so they can be properly excluded during a custom build. 2015-04-29 09:07:06 -04:00
photonstorm
a2eaccabed Added EventTarget and VideoTexture back into Pixi. 2015-04-17 19:55:08 +01:00
photonstorm
b196e4f17e Enabled PIXI.VideoTexture support. 2015-04-17 17:36:20 +01:00
photonstorm
8f06991527 Added support for the [Creature Automated Animation Tool](http://www.kestrelmoon.com/creature/). You can now create a Phaser.Creature object which uses json data and a texture atlas for the animations. Creature is a powerful animation tool, similar to Spriter or Spine. It is currently limited to WebGL games only, but the new libs should prove a solid starting point for anyone wanting to incorporate Creature animations into their games. 2015-04-13 23:16:29 +01:00
photonstorm
17b2eafbf3 Split GraphicsData to its own file. 2015-03-25 11:04:48 +00:00
photonstorm
59a72ffa80 Grunt file now properly includes stub files for Game core managers. 2015-03-04 00:32:33 +00:00
photonstorm
7efb051f54 New build scripts working for the default builds and custom builds. 2015-02-19 17:23:35 +00:00
photonstorm
c56d2c63ca Custom build scripts are go! 2015-02-19 15:27:44 +00:00
photonstorm
f34088458d More grunt work. Nearly there. 2015-02-19 06:03:42 +00:00
photonstorm
cbac770aed New grunt manifests. 2015-02-19 05:01:30 +00:00
photonstorm
f9eaa4001f New manifests. 2015-02-17 18:16:06 +00:00
photonstorm
c733bd3fba Build file updates. 2015-02-17 06:00:05 +00:00
photonstorm
ab114cc4a1 The start of TweenData. 2014-11-20 05:26:49 +00:00
photonstorm
8a89e8e97b Fixed grunt manifest 2014-11-18 09:45:39 +00:00
Paul
884353d71e ScaleManager + DOM
"Final" changes for a solid 2.2-worthy ScaleManager.

This adds in official support for USER_SCALE, which allows a flexible way
to control the scaling dynamically.

It fixes a visible display bug in desktop browsers (viewport clipping was
off) and mitigates some potential issues all around by using a unified
visualBound calculations in Phaser.DOM.

It applies some protected/deprecated attributes, but does not remove any
behavior of already-established (as in, outside-dev) means.

There are no known [signficant] breaking changes; any known breaks (not
considered fixes) are constrained to dev with no known consumers.

Phaser.DOM

  There are no known significant breaking changes; Phaser.DOM was
  internal.

  - Added visualBounds; this should be the true visual area, minus the
    scrollbars. This should be used instead of clientWidth/clientHeight to
    detect the visual viewport.

  - Expose various viewport sizes as dynamically updated properties on
    Rectangle objects. These are visualBounds, layoutBounds,
    documentBounds.

  - Updated documentation the different bounds; in particular drawing
    distinction between viewport/layout bounds and visual bounds.

  - Renamed `inViewport` to `inLayoutViewport` to indidcate behavior.
    - Minor breaking, but dev-only

  - Changed `getAspectRatio` to work on Visual viewport. This will yield
    the expected behavior on mobiles.
    - Minor breaking, but dev-only

  - Removed some quirks-mode and legacy-browser special casing

Phaser.ScaleManager

  There are no known significant breaking changes.

  - USER_SCALE is 'made public'. It can used to flexibly configure any
    custom-yet-dynamic scaling requirements; it should now be able to
    replace any sane usage of manual sizing invoking the deprecated
    setSize/setScreenSize.
    - Added additional usage documentation and links to such
    - Added the ability to specify a post-scale trim factor.

  - Change the arguments the resize callback and document what is passed
    - Minor breaking, but the previous arguments were undocumented

  - `compatiblity.showAllCanExpand` renamed to `canExpandParent` and made
    generalized over possibly-expanding scaling.
    - Minor breaking, dev-only, for coding changing this settin

  - Switched from direct usage of of window innerWidth/Heigth to
    Phaser.DOM visualViewport - this change correctly accounts for
    scrollbars in desktop environments
    - Although it does slightly alter the behavior, this is a fix.

  - Removed usage of window outerWidth/outerHeight which didn't make much
    sense where it was used for desktops and was catostrophic for mobile
    browser
    - Although it may slightly alter the behavior, this is a fix.

  - Removed `aspect` and `elementBounds` because they are duplicative of
    Phaser.DOM (which can not be accessed as `scale.dom`).
    - Minor breaking, but internal methods on dev-only

  - Marked the minWidth/maxWidth/minHeight/maxHeight properties as
    protected. They are not removed/obsoleted, but should be revised later
    for more flexibility.

  - Orientation handling; non-breaking forward deprecations
    - Added `onOrientationChange` and deprecated the 4 separate leave,
      enter, landscape and portrait signals. They are not removed, so this
      is a future-migration change.
    - Fixed issue where state not updated prior to callback
    - Fixed issue where orientation callbacks were not always delayed

  - Fullscreen events: non-breaking forward deprecations
    - Added `onFullScreenChange` and deprecated `enterFullScreen` and
      `leaveFullScreen`.
    - Renamed (with proxy) `fullScreenFailed` to `onFullScreenError`.

Phaser.Device

  - Improved `whenReady` to support Phaser.DOM better
    - Allows a ready handler to be added without starting the
      device-detection proccess. This allows it to be registered to
      internally (eg. from System.DOM) without affecting current behavior.
    - Passes the device object as the first parameter to the callback
      function.

  - Fixed code where Silk detection not applied to `desktop` detection.

Manifest: System.Device moved before System.DOM
2014-11-17 23:48:06 -08:00
Paul
794c9f65fe ArrayList/LinkedList - moved from core to utils
- ArrayList is also renamed to ArraySet to better reflect the nature
2014-11-13 00:59:42 -08:00
Richard Davey
7366854f9b Merge pull request #1307 from pnstickne/wip-math-util-cleanup
Math/Utils - various cleanup and deprecations/moves
2014-11-12 22:21:34 +00:00
photonstorm
788fc7e00f Because Texture.js dies without it. 2014-11-11 23:24:51 +00:00
photonstorm
1352b526c7 Merged final Pixi v2.1.0 release. 2014-11-11 23:24:50 +00:00
photonstorm
642d5355d6 Added missing DOM.js 2014-11-11 06:01:34 +00:00
Paul
50729b33a2 DOM Functions
No known breaking changes - as it's still dev/internal stuff.

- Added Phaser.DOM to house new DOM functions, moved stuff
  over from ScaleManager as appropriate

- Fixed a fiew cases of missing functions

- Changed some of the new signatures to protected for the interim.
  (Maybe a `beta` tag would fit better? Public is promises!)

- Moved generic support from Canvas to DOM and added proxy/notes
  - Updated internal usages

- Updated some comments for consistency
  - Access always on bottom for members/properties, public assumed
2014-11-10 00:45:13 -08:00
Paul
a6d2da2a8a Math/Utils - various cleanup and deprecations/moves
There are no known breaking changes.

- Timer
  - Uses standard Math.min/Math.max (it's better 2, 3 items).

- Math
  - Updated documentation
  - Marked various Math functions as deprecated, proxying as appropriate
    - Array-based functions -> ArrayUtils
    - RNG-based functions -> Utils
    - Updated core-usage
    - floor/ceil should not be used (alternatives provided)
  - Altered for some equivalencies
  - Also fixes some assorted issues
  - Marked a few internal functions as private

- Utils
  - Moved polyfills to their own file for better visibility
  - Moved array functions to ArrayUtils and marked proxies as deprecated

- Created Phaser.ArrayUtils for array-related functions

- polyfills moved to their own file
  - Functions given function names
  - Added Math.trunc
2014-11-09 16:17:18 -08:00
photonstorm
1e1d1b9018 Updated the build manifests. 2014-10-22 23:53:18 +01:00
photonstorm
73f210257a Removed duplicate Pixi classes and updated the build manifests to pull-in the correct Pixi Matrix class. 2014-10-22 21:20:38 +01:00
Richard Davey
6793484c37 Merge pull request #1236 from photonstorm/alvin/dev
Added the audiosprite class to the no-physics build and a new build with only p2
2014-10-20 01:28:40 +01:00
photonstorm
1377b9454d Added missing CanvasBuffer.js 2014-10-17 17:38:01 +01:00
Alvin
125912a42f Fixed audiosprite not included in the no-physics build 2014-10-16 20:30:12 +02:00
photonstorm
94c3989939 Updated the grunt manifests. 2014-10-14 01:10:00 +01:00
photonstorm
f3fd3ebe0e Added AudioSprite to the build files. 2014-09-24 06:51:53 +01:00
photonstorm
24e896301b Adding new build file: Phaser + Arcade Physics + Ninja physics. 2014-09-09 12:50:01 +01:00
Richard Davey
199016b0a8 Merge pull request #1172 from eguneys/dev
A new custom build with no physics added.
2014-09-05 17:15:41 +01:00
photonstorm
ff07317120 First version of the FlexLayer class. 2014-09-05 15:46:10 +01:00
eguneys
fdf00b1b49 A new custom build with no physics added. 2014-09-05 11:38:40 +03:00
photonstorm
07f529bf12 First experimental build of FlexGrid. 2014-09-05 06:01:48 +01:00
Richard Davey
9941942941 Merge pull request #1030 from codevinsky/rope
Phaser.Rope
2014-08-28 01:56:02 +01:00
photonstorm
26484eac89 Added RotationalSpring to the manifest. 2014-08-28 01:23:37 +01:00
photonstorm
33c52eaf09 BitmapData alpha option added.
Pointer return type added.
pixi manifest updated to remove need for geom classes.
2014-08-27 21:26:29 +01:00
jdowell
6432817c7f added: Rope debug, segments, updateAnimation 2014-07-15 14:01:15 -05:00