Commit graph

243 commits

Author SHA1 Message Date
photonstorm
5a9b509b44 ArraySet.removeAll allows you to remove all members of an ArraySet and optionally call destroy on them as well.
GameObject.input.dragStartPoint now stores the coordinates the object was at when the drag started. This value is populated when the drag starts. It can be used to return an object to its pre-drag position, for example if it was dropped in an invalid place in-game.
2015-03-19 00:51:13 +00:00
photonstorm
6cf982a4a0 Fixed to Destroy component if still in render loop. 2015-03-11 01:44:46 +00:00
Paul
ee34327c93 Components: bug fixes
- Use property check ('in') to avoid property access

- Promoted 'body' property for physics
2015-02-28 17:49:45 -08:00
photonstorm
a69e53f901 Copyright date change. 2015-02-25 03:36:23 +00:00
photonstorm
5fd066c610 ArraySet.getByKey gets an item from the set based on the property strictly equaling the value given. 2015-02-22 19:30:23 +00:00
photonstorm
17e2d22962 mixinPrototype can now clone objects that support it. 2015-02-17 15:45:37 +00:00
photonstorm
52f4a037a3 Added 'replace' parameter to mixinPrototype. 2015-02-17 06:01:25 +00:00
photonstorm
f64f9c1d15 Added mixinPrototype. 2015-02-17 05:14:23 +00:00
photonstorm
ff76cf75ad jsdoc fixes. 2015-02-11 05:19:09 +00:00
vulvulune
8dcd61aebb Correct comments Phaser.ArrayUtils
Replace Phaser.Math => Phaser.ArrayUtils in the comments of the class
Phaser.ArrayUtils
2015-01-27 13:59:15 +01:00
Paul
fb9eab76e7 Utils - cleanup
- Updated linked documentation

- Also updated `removeRandomItem` per the contract and for consistency with
  `getRandomItem`.
2014-12-01 23:19:32 -08:00
Paul
bdacef8170 ArrayUtils - minor corrections
- Corrected off-by-one issue; the effect is the same but it is arguably
  more correct.

- Fixed getRandomItem; it would previously return null for false'y values
  (false/''/0) which was against the defined contract.

- Updated documentation / documented types
2014-12-01 23:06:06 -08:00
Paul
dab8772de0 Documentation - consistency updates
- Updated `readOnly` doclet to `readonly`

- `array` refined to `type[]`, where such information was immediately
determinable.

- Updated {Any}/{*} to {any}; {...*} is standard exception

- Udated {Object} to {object}
2014-11-30 04:03:35 -08:00
photonstorm
1ef0f0a9fe Rounded off bounds. 2014-11-25 02:49:34 +00:00
photonstorm
7e4a494f13 Keyboard.justPressed has bee renamed to Keyboard.downDuration which is a much clearer name for what the method actually does.
Keyboard.justReleased has bee renamed to Keyboard.upDuration which is a much clearer name for what the method actually does.
Keyboard.downDuration, Keyboard.upDuration and Keyboard.isDown now all return `null` if the Key wasn't found in the local keys array.
2014-11-20 20:55:51 +00:00
photonstorm
21479acd8e Sprite.autoCull now properly works if the camera moves around the world.
Sprite.inCamera uses a much faster check if auto culling or world bounds checks are enabled and properly adjusts for camera position.
2014-11-18 12:29:55 +00:00
Paul
3c57773710 ArraySet - documentation
(rest of changes..)
2014-11-17 19:55:23 -08:00
Paul
5ec4c4cbe8 ArraySet - documentation
No breaking changes.

- Fixed jsdoc error `*[]` with documentation

- Also corrected documentation to align with behavior and changed
  `callback` to `key` in callAll for consistency
2014-11-17 19:52:13 -08:00
Paul
aa3c21ade7 ArraySet/LinkedList - minor updates
- Renamed ArrayList to ArraySet
  - Added ArrayList is a deprecated proxy for compatibility
  - Updated internal code to use ArraySet

- ArraySet can be constructed with an array; if the caller is willing to
  accept some responsibility this can remove the O(n^2) behavior of
  repeatedly calling `add`.
  - Updated Group.filter to take advantage of this

- ArraySet.total is read-only proxy for for list.length

- Fixes ArraySet.setAll where it would only set properties with truthy
  values

- Updated documentation
2014-11-13 01:41:08 -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
Paul
ae6cba5928 Math/Utils - various cleanup and deprecations/moves
- FIX/CHANGE - Math.wrapAngle over radians; it would convert radians to degrees
  - No internal code relies on unexpected the radians-to-degrees behavior

- Moved additional methods over to ArrayUtils, only marked deprecated in Math

- Removed some private annotations; e.g. linear / factorial public, but bernstein / catmullRom still protected

- Marked additional duplicates deprecated; e.g linearValue, angleLimit

- Documentation updates

- Fixed some accidental "Utils.Arrays" usage (oops!)

- Bumped deprecations from 2.1.4 to 2.2.0
2014-11-11 21:28:25 -08:00
Paul
d941e285a3 Math/Utils - various cleanup and deprecations/moves
- And one last before..
2014-11-09 17:40:54 -08:00
Paul
a35d032238 Math/Utils - various cleanup and deprecations/moves
- Put in the missing changes..
2014-11-09 17:26:07 -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
Paul
e08e99ea6a Updated Color.webToColor to accept [more] spaces
- webToColor now accepts arbitrary spaces, which are allowed per CSS rules (percents still not supported)
2014-10-28 06:25:20 -07:00
Paul
3cfe200ed1 Minor documentation cleanup 2014-10-28 06:12:48 -07:00
Paul
37a77c674f Add support for "rgba" to Phaser.Stage.backgroundColor
- 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)`.
2014-10-28 05:45:00 -07:00
photonstorm
9cb42a933d Fixed for Pixi v2 new method of batching. 2014-10-23 12:27:25 +01:00
photonstorm
96fd0ade74 JSDoc fixes. 2014-10-21 22:43:42 +01:00
Richard Davey
7a79a68050 Merge pull request #1230 from bobbywilson0/dev
Changed all typeof comparisons from == to ===
2014-10-15 21:39:07 +01:00
photonstorm
d3c26f8c38 Removed old WebGL UV calls. 2014-10-14 01:10:09 +01:00
Bobby Wilson
0482684dc8 changed all typeof comparisons from == to === 2014-10-10 21:52:06 -06:00
Richard Davey
5dbe6b6017 The Uint32Array check used in Utils was incorrectly replacing Uint32Array on Safari, causing errors like BitmapData.getPixel32 to fail and other related issues (fixes #1043 and #1197) 2014-10-05 12:35:40 +01:00
photonstorm
173786c60d Color.createColor now populates the color property of the returned object with the results of Phaser.Color.getColor.
Color.createColor now has a `color32` property with the results of `Phaser.Color.getColor32`.
Color.hexToColor has been optimised to inline the regex and has moved the createColor call so it now populates the color object fully, not just setting the r,g,b properties.
2014-10-01 16:51:34 +01:00
photonstorm
2794d94b08 Color.createColor now populates the color objects color and color32 properties with the results of Phaser.Color.getColor and getColor32 respectively. 2014-10-01 15:19:57 +01:00
photonstorm
e8ca670fba Fixed the body debug calls for Box2D. 2014-09-30 01:44:44 +01:00
photonstorm
c195998a1e Color.webToColor restored. Converts a CSS rgba color into a native color value. 2014-09-30 01:44:33 +01:00
photonstorm
00b5472d4c jshint fixes. 2014-09-29 12:29:18 +01:00
photonstorm
b0e96a37b9 Added Box2D handler support. 2014-09-29 12:27:28 +01:00
photonstorm
33d9b19e29 The Debug canvas is now cleared on State swap. 2014-09-09 15:28:58 +01:00
Jeremy Dowell
06c6b23454 moved: Utils.range to Math.numberArray 2014-09-05 09:36:36 -05:00
Jeremy Dowell
1835453880 fixed: jshint errors 2014-09-04 19:31:53 -05:00
Jeremy Dowell
6c3fac5665 added: Phaser.Utils.range 2014-09-04 19:28:46 -05:00
photonstorm
ec687868de Input.setMoveCallback has been removed due to deprecation.
BitmapData.refreshBuffer has been removed and replaced with BitmapData.update.
BitmapData.drawSprite has been removed due to deprecation. Use BitmapData.draw instead.
Pointer.moveCallback has been removed due to deprecation.
SinglePad.addButton has been removed due to deprecation.
P2.Body.loadData has been removed due to deprecation.
P2.World.defaultFriction and defaultRestitution have been removed due to deprecation.
Canvas.create noCocoon parameter has been removed due to deprecation.
Color.getColorInfo, RGBtoHexstring, RGBtoWebstring and colorToHexstring has been removed due to deprecation.
2014-08-28 03:40:59 +01:00
photonstorm
d7f8950758 Debug.cameraInfo no longer crashes if the camera bounds are nulled (thanks @wayfu #1143)
Camera.setBoundsToWorld no longer crashes if the camera bounds are nulled (thanks @wayfu #1143)
2014-08-28 02:13:51 +01:00
Richard Davey
9941942941 Merge pull request #1030 from codevinsky/rope
Phaser.Rope
2014-08-28 01:56:02 +01:00
photonstorm
24527eac3e Group.checkAll allows you to check if the same property exists across all children of the Group and is set to the given value (thanks @codevinsky #1013)
Group.checkProperty allows you to check if the property exists on the given child of the Group and is set to the value specified (thanks @codevinsky #1013)
Phaser.Utils.setProperty will set an Objects property regardless of depth (thanks @codevinsky #1013)
Phaser.Utils.setProperty will set an Objects property regardless of depth (thanks @codevinsky #1013)
Phaser.Utils.getProperty will get an Objects property regardless of depth (thanks @codevinsky #1013)
2014-07-18 11:52:39 +01:00
jdowell
6432817c7f added: Rope debug, segments, updateAnimation 2014-07-15 14:01:15 -05:00
jdowell
aad74ff4d5 added: Phaser.Utils.getProperty / Phaser.Utils.setProperty; added: Phaser.Group.checkAll
Added deep-property getting and setting via strings:

Phaser.Util.getProperty(someObj, 'foo.bar.baz');

Phaser.Util.setProperty(someObj, 'foo.bar.baz', 'lol');

Added a "checkAll" method to Phaser.Group that returns true/false if all of the children's given properties match the value passed in.

this.someGroup.checkAll('foo.bar.baz', 'lol'); // will return true if child[n].foo.bar.baz === 'lol'

Comes with standard 'force' ability.
2014-07-14 12:33:13 -05:00
photonstorm
0ff2eb2fb9 jshint fixes 2014-07-09 11:36:45 +01:00
photonstorm
003403c832 Color.getWebRGB will now accept either an Object or numeric color value. 2014-07-09 11:15:24 +01:00
photonstorm
f1bcd1d00b Added Phaser.Utils.mixin. 2014-07-08 12:59:36 +01:00
Richard Davey
6ce183189f Merge pull request #971 from psalaets/issue-970
reorder param list of Phaser.Physics.Arcade.Body.render
2014-07-07 10:29:51 +01:00
Paul Salaets
77b86f43e3 support for debug rendering ninja AABB and circle bodies 2014-07-05 20:58:33 -04:00
Paul Salaets
79f550bc89 updating comments: default color and method name 2014-07-05 18:08:00 -04:00
Phaiax
b14aff5844 Return type of Phaser.Color.packPixel changed 2014-06-29 18:02:59 +02:00
photonstorm
1e9d0b2438 Tidying up. 2014-05-30 05:33:30 +01:00
photonstorm
43e079a53a Readme update. 2014-05-20 10:31:55 +01:00
photonstorm
cc9a234c8c Color.getRGB would return incorrect color components if a color value without alpha was given, now works with both 0xRRGGBB and 0xAARRGGBB.
Color.getWebRGB now works regardless if you give an 0xRRGGBB or 0xAARRGGBB color value.
2014-05-14 02:09:44 +01:00
photonstorm
798d7a4fd1 Stage.backgroundColor now properly accepts hex #RRGGBB and color values 0xRRGGBB again (fix #785) 2014-05-14 01:59:21 +01:00
photonstorm
a60246d3c2 typeof fix. 2014-05-08 02:25:53 +01:00
photonstorm
c32706f98c Phaser.Utils.transposeArray will transpose the given array and return it.
Phaser.Utils.rotateArray will rotate the given array by 90 or 180 degrees in either direction and return it.
2014-05-08 02:17:37 +01:00
photonstorm
9fd4ac5950 Fixed and tested on IE9. 2014-04-29 15:38:33 +01:00
photonstorm
937085afda Added Uint32Array polyfill for BitmapData manipulation, and optional dataview polyfill for IE9 P2 requirements in the resources folder. 2014-04-29 02:09:58 +01:00
photonstorm
de9fc08e7d Color.updateColor - updates an existing color object to update the rgba property.
Color.HSVColorWheel will return an array with 360 color objects for each segment of an HSV color wheel, you can optionally set the saturation and value amounts.
Color.HSLColorWheel will return an array with 360 color objects for each segment of an HSL color wheel, you can optionally set the saturation and lightness amounts.
2014-04-28 04:19:26 +01:00
photonstorm
27d62aa147 Color.HSVColorWheel will return an array with 360 color objects for each segment of an HSV color wheel. 2014-04-28 03:25:45 +01:00
photonstorm
ce6215c98a Improved the docs to do with Sound duration / durationMS and added the extra output to the Debug.soundInfo (issue #630) 2014-04-28 02:08:19 +01:00
photonstorm
3db5d27c82 ArrayList.callAll check added (ping @jflowers45 #746) 2014-04-25 19:38:10 +01:00
photonstorm
251bc10327 jshint fixes. 2014-04-25 02:52:14 +01:00
photonstorm
11ca2deaf6 Finally - fully working setHSL and shiftHSL. 2014-04-25 02:45:35 +01:00
photonstorm
c88fa2bd91 Loads of BitmapData updates. More details soon. 2014-04-24 03:49:49 +01:00
photonstorm
77f8e5eefc P2 Fixtures Collection Class (@georgiee please test it works ok! #704) 2014-04-11 00:43:30 +01:00
Georgios Kaleadis
13e5cacd71 added a p2 fixture collections helper class 2014-04-10 23:45:35 +02:00
Christian Wesselhoeft
35c24f4ec3 Fix jshint issues in src/utils 2014-03-25 14:56:05 -07:00
Christian Wesselhoeft
61f18b675c Trim trailing whitespace. 2014-03-25 14:56:04 -07:00
photonstorm
2cc1a45f9a Fixed SpriteBounds camera placement in Debug (again).
Removed un-needed cache vars from ArcadePhysics.World.
Tidied up ArcadePhysics.Body and fixed rotation parameters.
Every single Arcade Physics Example now runs perfectly under this release.
2014-03-19 03:55:44 +00:00
photonstorm
9959e21925 Debug.spriteBounds will now take the position of the camera into consideration when rendering the bounds (fix #603) 2014-03-19 02:31:37 +00:00
photonstorm
f678d1fd31 Line now has x, y, width, height, top, bottom, left and right properties, so you can effectively get its bounds. 2014-03-14 00:19:45 +00:00
photonstorm
c8e63582a4 Lots of small tweaks to pass jshint. 2014-03-13 16:49:52 +00:00
photonstorm
c2d38fe16b jshint passed all the p2 physics and fixed Debug.spriteBounds. 2014-03-13 16:16:14 +00:00
photonstorm
dc434dd1ff Render Debug moved into Arcade class. 2014-03-13 15:41:56 +00:00
photonstorm
abf26df741 New P2 examples and fixed Body debug assignment parameter. 2014-03-12 06:25:29 +00:00
photonstorm
e9ae465272 Sorted out Body gravity settings and updated the example. 2014-03-11 16:26:03 +00:00
photonstorm
6bddf1a914 The main Game class has been modified so that the update methods no longer have any if/else checks in them. Now split into coreUpdate, etc.
Put QuadTree back into Debug class.
Debug class now clears down on WebGL.
Updated RetroFont.type.
Fixed QuadTree example.
2014-03-11 16:14:01 +00:00
photonstorm
4aba75a522 Debug canvas now clears on WebGL. 2014-03-11 15:37:28 +00:00
photonstorm
3e93f24583 New split physics system is implemented. Still tidying-up, but ArcadePhysics, P2 and Ninja Physics are in and configured. Lots more examples required, and tilemap collision mostly broken in Arcade at the moment. Time to implement in Ninja. 2014-03-06 06:29:19 +00:00
photonstorm
22b1ce9b9d Added Phasers new Physics Manager and restored the pre-1.1.4 ArcadePhysics system. The new manager can handle multiple physics systems running in parallel, which could be extremely useful for lots of games. 2014-03-05 02:36:08 +00:00
photonstorm
d8f5832fa2 Completely empty Tilemaps can now be created. This allows for dynamic map generation at runtime.
Loads of updates across most the Tilemap files. Not finished yet, still CSV loading to do and a multi-tileset issue to resolve, but it's a lot more flexible now.
2014-03-03 05:19:46 +00:00
photonstorm
6f513042c1 Tween no longer copies all the object properties into the _valuesStart object on creation.
Fixed shadow bug in Debug.text
Fixed tween examples.
2014-03-03 02:40:59 +00:00
photonstorm
c4a68e3e87 The Debug panel now works in WebGL mode. Pay attention to the warning at the top of the Debug docs (feature request #499)
All the Debug methods have had the word 'render' removed from the start. So where you did `debug.renderSpriteInfo` before, it's now just `debug.spriteInfo`.
Debug methods that rendered geometry (Rectangle, Circle, Line, Point) have been merged into the single method: `Debug.geom`.
2014-03-03 00:46:03 +00:00
photonstorm
418a161b46 Testing webgl debug overlay. 2014-03-02 20:51:44 +00:00
photonstorm
8662cd2fd4 Brand new Grunt task - creates each core library as its own file and a combined phaser.js.
New build script now cleanly splits Phaser, Pixi and p2 so they are each UMD wrapped and each available in the global scope (now more requireJS friendly!).
phaser-no-libs.js allows you to use your own version of p2.js or pixi.js with Phaser. Warning: This is totally unsupported. If you hit bugs, you fix them yourself.
Fixed silly instanceof bug in game objects (sorry guys).
2014-02-28 09:30:53 +00:00
photonstorm
34ee2b0b20 Fixed issue with CocoonJS detection in Device.
Fixed docs issue in Tilemap.
Created landscape pointer test, confirmed working fine (issue #276)
2014-02-28 03:09:04 +00:00
photonstorm
be27442139 Fixed Fullscreen example and State preloading. 2014-02-25 16:26:11 +00:00
photonstorm
36df5516dd Fixed full-screen anti-alias issue (#478). 2014-02-24 20:33:22 +00:00
photonstorm
d9cadc70ac The Keyboard class has had a complete overhaul. Phaser.Key objects are created automatically, there are fixes against duration and keys reset properly on visibility loss.
Keyboard.removeKey has been removed. The way the new keyboard manager works means it's no longer required.
Fixes issue #462
2014-02-24 15:58:02 +00:00
photonstorm
5c4dd26d25 Fixed for renderSpriteInfo. 2014-02-21 15:50:02 +00:00
photonstorm
7ee0c20bb3 Added Debug.renderSpriteBounds() back and wrapped Body.velocity and force in px2p calls. 2014-02-21 15:34:15 +00:00
photonstorm
aac31bdaa4 debug#renderShapeConvex fixed, fix in p2 physics body creation #446 2014-02-19 15:43:05 +00:00
photonstorm
5d5c64d22f Tilemap.createCollisionObjects will parse Tiled data for objectgroups and convert polyline instances into physics objects you can collide with in the world.
After defining tiles that collide on a Tilemap, you need to call Tilemap.generateCollisionData(layer) to populate the physics world with the data required.
Debug.renderPhysicsBody updated to take camera location and body rotation into account.
Body movement functions put back to velocity :)
Updated to latest dev version of pixi and latest p2.js
Updated docs
2014-02-18 03:01:51 +00:00