Commit graph

207 commits

Author SHA1 Message Date
photonstorm
b9fab96471 Improved docs. 2016-04-09 00:25:56 +01:00
photonstorm
b162ca4d51 Improved Math.clamp and docs. 2016-04-07 16:14:44 +01:00
photonstorm
f40cfbe2ae 2015 - 2016. 2016-04-04 22:16:16 +01:00
Edward Januszewski
a9e4d956b3 Fix typo in Math radToDeg description 2016-03-29 21:14:55 +01:00
Taylan Kasap
1310daa9af Added RandomDataGenerator.sign (returns -1 or +1) 2016-02-07 14:25:19 +02:00
Richard Davey
4143b3f3ae rnd check fix. 2015-09-19 11:58:25 +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
luckylooke
63f5df9c65 Feature: Allow random generator to get/set state 2015-09-07 21:47:36 +02: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
Richard Davey
a1bd35fc35 Tidied up formatting and improved jsdocs. 2015-08-26 19:13:46 +01:00
Rusty Rountree
f017db806a Phaser.Math.fuzzyCeil and Phaser.Math.fuzzyFloor should not return boolean values as stated in @return section of the comments 2015-08-25 04:06:06 -05:00
Rusty Rountree
92bac852c8 Optimize the average function in math.js 2015-08-25 02:16:31 -05: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
photonstorm
1b5da312d0 RandomDataGenerator.weightedPick has been tweaked slightly to allow for a more even distribution of weights. It still favors the earlier array elements, but will accurately include 'distance' elements as well (thanks @gingerbeardman #1751) 2015-07-08 17:20:36 +01:00
Richard Davey
ae08b9ac02 Text tab support working. Now to add varying tab sizing. 2015-07-07 23:31:44 +01:00
photonstorm
102c74e121 Deprecated the following:
* Camera.screenView
* ScaleManager.maxIterations
* ScaleManager.enterPortrait (see onOrientationChange)
* ScaleManager.enterLandscape (see onOrientationChange)
* ScaleManager.enterFullScreen (see onFullScreenChange)
* ScaleManager.leaveFullScreen (see onFullScreenChange)
* ScaleManager.fullScreenFailed (see onFullScreenError)
* ScaleManager.checkResize
* ScaleManager.checkOrientation
* ScaleManager.setScreenSize (see updateLayout)
* ScaleManager.setSize (see reflowCanvas)
* ScaleManager.checkOrientationState (see reflowCanvas)
* ScaleManager.orientation (see screenOrientation)
* Gamepad.disabled (see enabled)
* Input.currentPointers (see totalActivePointers)
* Input.disabled (see enabled)
* Keyboard.disabled (see enabled)
* Mouse.disabled (see enabled)
* Mouse.mouseMoveCallback (see Input.addMoveCallback)
* MSPointer.disabled (see enabled)
* Touch.disabled (see enabled)
* Cache.getUrl (see getURL)
* Math.truncate (see Math.trunc)
* Math.snapToInArray (see Phaser.ArrayUtils.findClosest)
* Math.interpolateFloat (see Math.linear)
* Math.normalizeLatitude (use Phaser.Math.clamp(lat, -90, 90))
* Math.normalizeLongitude (use Phaser.Math.wrap(lng, -180, 180))
* Math.chanceRoll (use Phaser.Utils.chanceRoll)
* Math.numberArray (use Phaser.ArrayUtils.numberArray)
* Math.numberArrayStep (use Phaser.ArrayUtils.numberArrayStep)
* Math.limitValue (use Phaser.Math.clamp)
* Math.randomSign (use Phaser.Utils.randomChoice(-1, 1))
* Math.angleLimit (use Phaser.Math.clamp)
* Math.getRandom (use Phaser.ArrayUtils.getRandomItem)
* Math.removeRandom (use Phaser.ArrayUtils.removeRandomItem)
* Math.floor (use Math.trunc)
* Math.ceil (use Phaser.Math.roundAwayFromZero)
* Math.shift (use Phaser.ArrayUtils.rotate)
* Math.shuffleArray (use Phaser.ArrayUtils.shuffle)
* Math.distanceRounded (do the rounding locally)
* Canvas.getOffset (see Phaser.DOM.getOffset)
* Canvas.getAspectRatio (see Phaser.DOM.getAspectRatio)
* TilemapLayer.tileColor (use TilemapLayer.debugSettings.missingImageFill)
* Phaser.ArrayList alias removed, now use Phaser.ArraySet
* Utils.transposeArray (see Phaser.ArrayUtils.transposeMatrix)
* Utils.rotateArray (see Phaser.ArrayUtils.rotateMatrix)
* Utils.shuffle (see Phaser.ArrayUtils.shuffle)
2015-06-17 03:14:31 +01:00
photonstorm
04a25c5d9b Small fix + jsdoc update. 2015-06-17 01:04:55 +01:00
photonstorm
5a91f85b1f Typo. 2015-05-19 16:57:36 +01:00
Richard Davey
4431e72711 Merge pull request #1770 from jeremyosborne/distsq
Fix for #1761: [Feature Request] Add Math.distanceSq().
2015-05-19 16:14:57 +01:00
Rodrigo Silveira
ce7bcb2243 Return actual boolean value instead of 1
This is particularly helpful when doing === comparisons. Now isOdd is
  consistent with isEven, which returns actual boolean values as well.
2015-05-13 05:59:34 -03:00
Jeremy Osborne
61f24f1719 Fix for #1761: [Feature Request] Add Math.distanceSq(). Also, first attempt at a pull request for Phaser. 2015-04-28 10:03:35 -07:00
photonstorm
3f30a3d0d2 jsdocs updates. 2015-03-23 10:11:39 +00:00
photonstorm
a69e53f901 Copyright date change. 2015-02-25 03:36:23 +00:00
photonstorm
01a23b7d91 Tween.to now correctly accepts arrays are destination values, which makes the Tween interpolate through each value specified in the array using the defined Tween.interpolation method (see new example, thanks @FridayMarch26th #1619)
Tween.interpolationFunction was using the incorrect context to invoke the function. This is now defined in `TweenData.interpolationFunctionContext` and defaults to `Phaser.Math`. If you provide your own interpolation function then please adjust the context accordingly (thanks @FridayMarch26th #1618)
2015-02-16 12:23:54 +00:00
photonstorm
689501c15c Phaser.Point.angleSq removed. It didn't work so any code relying on it would be broken, and it's unclear what it was meant for (thanks @nextht #1396) 2015-01-05 13:00:07 +00:00
Paul
b3808890b2 RandomDataGenerator seeding fix
Per https://github.com/photonstorm/phaser/issues/1457 the `sow` function
terminates too early on certain false-y values including 0 (and possibly
"").

This changes that, so that 1) only `undefined` and `null` will terminate
the seed sequence processing (this is to maximize backwards compatibility)
and 2) the `length` of the array is honored.

The documentation also reflects the old (and new/altered) behavior.

This is very minor breaking change; hopefully such is mitigated with
leaving in the null/undefined termination.
2014-12-15 00:18:23 -08: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
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
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
photonstorm
96fd0ade74 JSDoc fixes. 2014-10-21 22:43:42 +01:00
photonstorm
f2aa263d0a jsdoc fix 2014-10-06 07:00:00 +01:00
photonstorm
20551f9129 Lots of jsdocs fixes ready for the new doc generator. 2014-09-16 17:35:08 +01:00
photonstorm
3fc527ba53 Added Math.numberArray back in and renamed the replacement to Math.numberArrayStep to avoid breaking the API. 2014-09-09 12:49:17 +01:00
photonstorm
79d873f47b If you are using CocoonJS, please set your game render type to CANVAS and not WEBGL or AUTO. You should also disable any of the ScaleManager screen resizing or margin setting code. By default in this mode CocoonJS will now set 'screencanvas=true' which helps with performance significantly. 2014-09-08 22:34:53 +01:00
Jeremy Dowell
06c6b23454 moved: Utils.range to Math.numberArray 2014-09-05 09:36:36 -05:00
devinb83
2be45e93ae QuadTree leveling Bug
Rather than level++ which changes the current node's level, the subnodes should get the current node's level + 1
2014-07-14 12:55:26 -07:00
Alvin
6f0a9115c4 Made the code jshint-friendly 2014-06-24 11:26:05 +02:00
Alvin
9e2ca08722 Added factorial and changed interpolation docs 2014-06-24 11:23:20 +02:00
photonstorm
7836f3acd9 Added RandomDataGenerator.between (an alias for integerInRange) 2014-06-06 04:12:35 +01:00
photonstorm
78ec29facc RandomDataGenerator.integerInRange would return a non-integer value if you passed in a float. 2014-05-09 16:39:45 +01:00
photonstorm
e06f249d9b Commented out 2 functions that don't currently work. 2014-05-09 16:39:45 +01:00
Richard Davey
570e8acabb Joystick updates. 2014-05-07 18:10:13 +01:00
photonstorm
2b40c8a7c7 Pointer.type and Pointer.exists properties added.
QuadTree.retrieve can now accept either a Sprite with a physics body or a Phaser.Rectangle as its parameter.
ArcadePhysics.getObjectsUnderPointer will return all children from a Group that overlap with the given Pointer.
2014-05-06 02:45:10 +01:00
Gaëtan Renaudeau
1f948d8994 Fix #771: make smoothstep(x,a,b) work if a > b 2014-04-28 15:16:51 +02:00
photonstorm
11ca2deaf6 Finally - fully working setHSL and shiftHSL. 2014-04-25 02:45:35 +01:00
photonstorm
e0f850bc21 jshint fix 2014-04-22 11:33:03 +01:00
photonstorm
06878407e8 RandomDataGenerator.integerInRange uses a new method of rounding the value to an integer to avoid distribution probability issues (thanks PhaserFan) 2014-04-22 11:01:15 +01:00
photonstorm
713bd203ee ArcadePhysics.collideSpriteVsGroup checks if Sprite has a body before carrying on, now safely skips sub-groups or other non-Sprite group children.
QuadTree.retrieve now checks to see if the given Sprite has a body before carrying on.
2014-04-17 12:31:14 +01:00
photonstorm
6979103634 Fix for #732 (Timer.onComplete not firing).
jsdoc updates across Math and InputHandler.
2014-04-16 18:50:54 +01:00
John Watson
27bdbbafaa Fixed Math.atan2 arguments in wrong order
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/atan2
2014-04-14 17:14:31 -07:00
Christian Wesselhoeft
428505f600 Enable jshint immed flag. 2014-03-25 14:56:05 -07:00
Christian Wesselhoeft
61f18b675c Trim trailing whitespace. 2014-03-25 14:56:04 -07:00
photonstorm
eec9f70c1c Math.removeRandom allows you to remove (and return) a random object from an array.
Updated TypeScript defs to fix getRandom (fix #583)
2014-03-18 16:51:58 +00:00
Kimmo Salmela
97a838edbb Added support for radians in wrapAngle
My first time proposing a change in GitHub, so I hope I did it correctly.
2014-03-18 13:40:07 +02:00
photonstorm
c8e63582a4 Lots of small tweaks to pass jshint. 2014-03-13 16:49:52 +00:00
alvinsight
c9f89f5a3b New examples for ninja physics, bitmap text, and documented the map function 2014-03-13 13:25:39 +00:00
photonstorm
cb5a8c7515 Renamed px2p and p2px to: pxm and mpx (px to meters and meters to px). Also removed from Math. 2014-03-12 00:07:27 +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
170776ada1 rnd updated so the array picks use length -1 (fixes #541) 2014-03-11 10:56:54 +00:00
photonstorm
8fff38618d Tidied up the Examples, fixed Arcade Physics Body, added Body enable support to Group and fixed QuadTree. 2014-03-10 03:06:28 +00:00
photonstorm
4db1fc0079 Restored Phaser.QuadTree - should get all remaining Arcade Physics examples working again. 2014-03-07 15:14:53 +00:00
photonstorm
8c2502d37d Group.xy(index, x, y) allows you to set the x and y coordinates of a Group child at the given index.
Group.reverse() reverses the display order of all children in the Group.
New labs demo.
Fixed some Easing docs issues.
2014-03-04 01:27:57 +00:00
photonstorm
0eb23d4b11 RandomDataGenerator.integerInRange(min, max) now includes both min and max within its range (#501) 2014-03-02 11:21:30 +00:00
photonstorm
9fcab5ef26 Lots of doc fixes (thanks nhowell) 2014-02-20 03:44:44 +00:00
photonstorm
1d3616f52c Do not invert (physics) shape size data for circle, rectangle, capsuel & line #445 2014-02-19 15:21:03 +00:00
photonstorm
14646e811c QuadTree deprecated and moved to plugins. Body.collideWorldBounds added back and working. CollisionGroups pretty much finished. 2014-02-19 02:12:27 +00:00
photonstorm
5968dd053b CollisionGroup and collision masks working. Need to refine a little, but all the essentials are there. 2014-02-19 01:51:14 +00:00
photonstorm
43d9fc4f52 Fixed issue where loadTexture would sometimes incorrectly try to apply the texture update twice. Also fixed bug in Math.angleBetween. 2014-02-11 04:08:32 +00:00
photonstorm
47e23096bd Integrating p2.js. 2014-02-10 16:01:30 +00:00
photonstorm
0896c2fac7 Updating copyright year and README. 2014-02-05 16:54:59 +00:00
photonstorm
651858372c Added Game core loop stepping support. Super-useful for debugging, and helped me track down the issue with jittery physics collision. Double-win! 2014-01-29 17:10:13 +00:00
photonstorm
e3aaec8ac0 Removed Time delta cap, removed drag references from Emitter and tested doing a custom polygon collision. 2014-01-24 03:53:11 +00:00
photonstorm
7a0e9a478c New Math functions added. 2014-01-22 10:54:49 +00:00
photonstorm
15a002e720 Finally getting there! Body collision almost as good as it can be (without a full-on physics system). Just a few last tweaks to do. 2014-01-21 16:12:50 +00:00
photonstorm
128c7143d5 Lots more physics tests and updates.
PLEASE DO NOT upgrade to this release if you need your game working and it uses any of the physics functions, as they're nearly all broken here.
Just pushing up so I can share it with someone.
2014-01-20 20:14:34 +00:00
photonstorm
011d2d8e05 The way the collision process callback works has changed significantly and now works as originally intended.
The World level quadtree is no longer created, they are now built and ripped down each time you collide a Group, this helps collision accuracy.
Bodies are no longer added to a world quadtree, so have had all of their quadtree properties removed such as skipQuadtree, quadTreeIndex, etc.
QuadTree.populate - you can pass it a Group and it'll automatically insert all of the children ready for inspection.
Removed ArcadePhysics binding to the QuadTree, so it can now be used independantly of the physics system.
2014-01-14 02:43:09 +00:00
photonstorm
ce4cf531d4 Added class constructors, fixed Stripshader, added relative Tween example and updated Tween source. 2013-12-30 16:54:00 +00:00
photonstorm
299115ca5d The entire Phaser library has been updated to match the new JSHint configuration. 2013-11-25 04:40:04 +00:00
photonstorm
13a2cc2feb Updating all files to adhere to the JSHint settings and fixing lots of documentation errors on the way. 2013-11-25 03:13:04 +00:00
TheJare
8015194daa Fix normalizeAngle and wrapAngle (again?) 2013-11-23 02:58:02 +01:00
TheJare
f115a2dbf8 Remove references to GameMath, it's just Math now
Throw exceptions if wrong format given to tilemap or textureatlas. Previously, old onload remained active and error happened in the wrong (and hard to diagnose) place.
2013-11-20 00:12:37 +01:00
Richard Davey
ebe441666c BitmapData object added 2013-11-13 20:57:09 +00:00
photonstorm
29acf7fb4b Enemy tanks, now firing. 2013-10-09 07:11:36 +01:00
photonstorm
83a00862be Lots of new examples and updates. 2013-10-09 04:31:08 +01:00
Richard Davey
1c577d3674 Fixed RandomDataGenerator.sow 2013-10-08 22:55:27 +01:00
Richard Davey
47e1b1b54b Sprite optimisations. 2013-10-04 19:00:55 +01:00
Richard Davey
96da57cac0 Fixed up the namespace in the documentation and finished off all sections other than Game Objects and Physics (yuck). 2013-10-03 02:38:35 +01:00
Richard Davey
868ae81bab Input, Loader and Math docs tidied up. 2013-10-02 15:05:55 +01:00
Richard Davey
ca113b85aa More docs coming on. 2013-10-01 16:39:39 +01:00
Richard Davey
305b12d76b Adding docs. 2013-10-01 15:01:46 +01:00
TheJare
557160c3c2 Fixes to math library 2013-09-22 03:43:10 +02:00
Richard Davey
cf26f68693 Added Math.numberArray 2013-09-18 14:08:26 +01:00
Richard Davey
92e86494e3 Tilemap Collision in and working :) Needs testing against Groups now. 2013-09-12 15:39:52 +01:00
Richard Davey
f260108433 Tidying up source code for release. Also refactored World to use a Group instance, rather tha duplicate functions. 2013-09-11 13:21:07 +01:00
Richard Davey
fe6664eac7 Fixed the Body collide issues and optimised the process at the same time. Now the QuadTree appears to work perfectly as a result. Bonus! 2013-09-08 01:24:59 +01:00
Richard Davey
128bdccd79 Sorted out the QuadTree issues and resolved a small but vital bug in separateX, also re-organised the collision flags in Body. 2013-09-04 13:54:55 +01:00
Richard Davey
b2263c16c6 Patched the QuadTree, now working a whole lot better but am worried it's still working out too many collisions. 2013-09-04 04:54:43 +01:00
Richard Davey
3f3b6bfd35 Brand new highly optimised QuadTree added, populated by the game loop and world ready to be queried as often as you want in your game loop, without creating hundreds of new QuadTrees each frame. 2013-09-04 03:48:15 +01:00
Richard Davey
6235f25184 LL 2013-09-01 22:02:42 +01:00
Richard Davey
d31777972c Camera culling 2013-09-01 19:52:50 +01:00
Richard Davey
f9aa7f7339 Fixed small bug in Game where AUTO didn't detect the lack of WebGL properly. Tidied up Math a bit more. 2013-08-30 20:05:29 +01:00
Richard Davey
0f58945212 Circle and Math converted 2013-08-28 15:27:22 +01:00
Richard Davey
09def364c3 Farewell TypeScript, see you on the other side. 2013-08-28 07:02:57 +01:00