photonstorm
952b5c04ea
The start of Arcade Physics circle bodies.
2016-04-07 14:32:53 +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
f40cfbe2ae
2015 - 2016.
2016-04-04 22:16:16 +01:00
Richard Davey
5801f1aa15
jshint fixes.
2016-02-04 23:39:58 +00:00
photonstorm
a7c360425f
Tidying up code and docs.
2016-02-04 16:23:40 +00:00
Richard Davey
a8b04c4bf1
Merge pull request #2171 from mattrick16/dev
...
Add method to angle Display Objects relative to world
2016-02-04 18:21:14 +02:00
Richard Davey
8e6b88cda8
Merge pull request #2172 from jonjanisch/dev
...
Inconsistency in arcade.collide processCallback param order #667
2016-02-02 17:39:46 +02:00
Richard Davey
6a50e18bf0
Merge pull request #1610 from yigitozdemir/dev
...
On Ceiling Method Addition
2016-02-01 21:14:12 +02:00
Jonathan Janisch
24c85dbb35
Inconsistency in arcade.collide processCallback param order #667
2015-10-27 23:48:14 -04:00
mattrick
8843a4ad09
Add worldAngleToPointer
2015-10-27 16:55:23 -07:00
photonstorm
486c15f16f
New docs.
2015-08-24 15:43:45 +01:00
Richard Davey
a56cd31638
jsdoc updates.
2015-07-31 18:39:37 +01:00
photonstorm
858ad51610
Phaser 2.4 release.
2015-07-22 15:31:30 +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
Casey Clyde
e935df328d
Sprite vs Tilemap can now check for overlap, without trying to separate
2015-05-23 22:39:12 -07:00
photonstorm
19f8a7316e
ArcadePhysics.Body.syncBounds is a new property that if true forces the Body to check itself against the Sprite.getBounds() dimensions and adjust its width and height accordingly. If false it will compare its dimensions against the Sprite scale instead, and adjust its width height if the scale has changed. Typically you would need to enable syncBounds
if your sprite is the child of a responsive display object such as a FlexLayer, or in any situation where the sprite scale doesn't change, but its parents scale is effecting the dimensions regardless.
2015-04-29 13:13:26 +01:00
photonstorm
432516fa0f
Physics.Arcade.sort has a new property 'sortDirection'. If not specified it will use World.sortDirection. If the Group given as the first parameter has its physicsSortDirection
property set that will override any other setting.
...
Physics.Arcade.sort now calls one of four functions: sortLeftRight, sortRightLeft, sortTopBottom and sortBottomTop. Each of which takes 2 Sprites as arguments.
Physics.Arcade.sort now doesn't bail out if the Group contains a mixture of physics and non-physics enabled objects, as the Group hash is now only ever populated with physics enabled objects. Also the sort comparison functions no longer return -1 if the bodies are invalid, but zero instead (#1721 )
2015-04-13 16:29:34 +01:00
photonstorm
35bfe5fb2a
Body.destroy now automatically calls Group.removeFromHash
.
2015-04-13 16:27:43 +01:00
photonstorm
77eaa7e707
Optimised World.collideHandler and added SORT_NONE option.
2015-03-23 15:05:57 +00:00
photonstorm
b07ce89236
sourceWidth / Height now only set from the texture if the object has a texture.
2015-03-23 15:05:39 +00:00
photonstorm
3f30a3d0d2
jsdocs updates.
2015-03-23 10:11:39 +00:00
breakosaur
bb600b4319
Fixed a few documentation typos.
2015-03-18 21:07:36 +00:00
photonstorm
2483cd5df4
Various readonly Body properties flagged as 'readonly' in the jsdocs ( #1643 )
2015-02-26 23:32:14 +00:00
photonstorm
f99f182a6f
Arcade Physics is now using a spacial pre-sort for all Sprite vs. Group and Group vs. Group collisions. You can define the direction the sort will prioritise via the new sortDirection
property. By default it is set to Phaser.Physics.Arcade.LEFT_RIGHT
. For example if you are making a horizontally scrolling game, where the player starts on the left and moves to the right, then this sort order will allow the physics system to quickly eliminate any object to the right of the players bounds. This cuts down on the sheer volume of actual collision checks needing to be made. In a densely populated level it can improve fps rate dramatically.
...
There are 3 other directions available (`RIGHT_LEFT`, `TOP_BOTTOM` and `BOTTOM_TOP`) and which one you need will depend on your game type. If you were making a vertically scrolling shoot-em-up then you'd pick `BOTTOM_TOP` so it sorts all objects above and can bail out quickly.
More importantly you can switch the `sortDirection` at run-time with no loss of performance. Just make sure you do it *before* running any collision checks. So if you had a large 8-way scrolling world you could set the `sortDirection` to match the direction the player was moving in and adjust it in real-time, getting the benefits as you go. My thanks to Aaron Lahman for inspiring this update.
2015-02-26 21:24:07 +00:00
photonstorm
03a2db18cb
Added extra protection in the case of mixed-type Groups.
...
Removed window vars and replaced with stats property.
Removed redundant if/else checks.
2015-02-25 06:06:40 +00:00
photonstorm
8aec760cd5
First pass at spacial sorting in World.collide.
2015-02-25 05:39:02 +00:00
photonstorm
a69e53f901
Copyright date change.
2015-02-25 03:36:23 +00:00
photonstorm
dee13d52d8
jshint fix.
2015-02-25 02:50:57 +00:00
photonstorm
c799dfe7da
Fixed physics postUpdate issue causing particles and all kinds of things to go awry.
2015-02-25 02:18:05 +00:00
photonstorm
3d399f1b14
Removed the final few private vars from computeVelocity
2015-02-25 00:04:53 +00:00
photonstorm
42b316473d
jsdoc fix.
2015-02-23 13:58:57 +00:00
photonstorm
a7bdce1806
Moved collideSpriteVsTilemapLayer to here.
2015-02-19 05:00:22 +00:00
photonstorm
eb732e1d90
Refactored ArcadePhysics.World to remove global property use and array length caches.
2015-02-19 04:59:55 +00:00
photonstorm
052b9a7e06
Separated the Tilemap specific code from World.
2015-02-17 15:49:53 +00:00
photonstorm
4bb1adcf36
Typo fix.
2015-02-17 06:00:18 +00:00
photonstorm
0588f95f4c
Body.phase renamed to Body.dirty.
2015-02-17 05:13:36 +00:00
photonstorm
86f05160b7
Removed array length vars and added strict equalities.
2015-02-17 05:13:12 +00:00
photonstorm
8483eac6aa
Removing all use of _cache from all Game Objects.
2015-02-16 17:22:51 +00:00
yigitozdemir
9ad1230257
On Ceiling Method Added
2015-02-11 01:36:35 +02:00
photonstorm
18ff04810f
ArcadePhysics.distanceToPointer now calculates the distance in world space values.
...
ArcadePhysics.moveToPointer no longer goes crazy if the maxTime parameter is given and the Sprite is positioned in a larger game world (thanks @AnderbergE #1472 )
2015-02-10 22:16:35 +00:00
photonstorm
816a80f39a
If Body.customSeparateX
or customSeparateY
is true
then the Body will no longer be automatically separated from a **Tilemap** collision or exchange any velocity. The amount of pixels that the Body has intersected the tile is available in Body.overlapX
and overlapY
, so you can use these values to perform your own separation in your collision callback ( #992 )
2015-02-10 12:58:12 +00:00
photonstorm
d710caed9e
Body.reset now resets the Body.speed value to zero.
2015-02-05 05:12:31 +00:00
Richard Davey
9efca46021
Merge pull request #1582 from micahjohnston/dev
...
Fix doc comment on Phaser.Physics.Arcade#getObjectsAtLocation.
2015-02-03 20:45:33 +00:00
zekoff
0ccd225e08
Allow max of 0 in computeVelocity
...
Previous method of setting default max did not allow falsey values.
2015-02-03 11:36:53 -06:00
Micah Johnston
34d443153f
fix argument name in comment on Phaser.Physics.Arcade#getObjectsAtLocation.
2015-01-30 05:48:34 -07:00
Micah Johnston
401d2fe847
Fix doc comment on Phaser.Physics.Arcade#getObjectsAtLocation.
2015-01-29 18:13:03 -07:00
photonstorm
d6ea8fb956
jsdoc updates (spelling mistakes, code formatting, etc)
2015-01-28 17:18:33 +00:00
photonstorm
587c3e5f6a
Arcade.Body.friction
allows you to have more fine-grained control over the amount of velocity passed between bodies on collision.
2015-01-18 12:24:00 +00:00
photonstorm
0f42b530eb
Physics.Arcade.isPaused
allows you to toggle Arcade Physics processing on and off. If true
the Body.preUpdate
method will be skipped, halting all motion for all bodies. Note that other methods such as collide
will still work, so be careful not to call them on paused bodies.
2015-01-10 00:30:02 +00:00
photonstorm
8cd98e2e36
jsdocs fixes.
2015-01-05 10:59:10 +00:00
photonstorm
15d5b54c26
Removed redundant updateTransform call.
2015-01-02 04:15:27 +00:00
Richard Davey
3c4a9720c6
Body updateTransform patch re: #1493 and #1490
2015-01-01 12:33:43 +00: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
Pete Baron
bc70ce74b5
Minor logic fix to nested loop counters.
2014-11-12 15:00:26 +13:00
Pete Baron
1c7059ea6c
Merge remote-tracking branch 'phaser-github/dev' into dev
...
Conflicts:
src/animation/FrameData.js
src/core/Game.js
src/particles/arcade/Emitter.js
src/time/Time.js
src/tween/Tween.js
2014-11-12 13:03:52 +13:00
Pete Baron
af09290cbf
Add getObjectsAtLocation method in Arcade physics.
2014-11-12 11:24:38 +13:00
photonstorm
8bf93fb658
ArcadePhysics.skipQuadTree is now set to true
by default. A QuadTree is a wonderful thing if the objects in your game are well spaced out. But in tightly packed games, especially those with tilemaps or single-screen games, they are a considerable performance drain and eat up CPU. We've taken the decision to disable the Arcade Physics QuadTree by default. It's all still in there and can be re-enabled via game.physics.arcade.skipQuadTree = false
, but please only do so if you're sure your game benefits from this.
2014-11-11 01:05:58 +00:00
DanX
3a1ec3c5c1
Fix docs for collide and collideHandler
2014-09-26 22:37:11 -03:00
photonstorm
20551f9129
Lots of jsdocs fixes ready for the new doc generator.
2014-09-16 17:35:08 +01:00
Carlos Martinez
ec9a8b6903
Firxed for travis build.
2014-09-01 15:03:29 +01:00
Carlos Martinez
9843818f30
Merge branch 'dev' of https://github.com/photonstorm/phaser into dev
2014-09-01 14:19:50 +01:00
Carlos Martinez
0640cc0c03
Added support to pass 2 array in Arcade collide and overlap (response to an issue).
2014-09-01 14:01:36 +01:00
photonstorm
070e33f1e7
ArcadePhysics.overlap has been updated so that the Body.overlapX/Y properties are set to the amount the two bodies overlapped by. Previously they were zero and only populated during the separation phase, but now the data is available for just overlap checks as well. You can then use these values in your ovrelap callback as required - note that they are changed for every check, so a Sprite overlap tested against 10 other sprites will have the overlapX/Y values updated 10 times in a single collision pass, so you can only safely use the values in the callback ( #641 )
2014-09-01 03:54:55 +01:00
photonstorm
69b9e5eb7c
Arcade.overlap and collide are now more consistent about allowing a Group vs. Group or Group vs. Array of Groups set (thanks @pyromanfo #877 #1147 )
2014-08-29 01:28:43 +01:00
Allen Cook
5a3eeb8a9c
Fix for group vs group within group collision ( fixes #877 )
2014-08-28 20:23:02 -04:00
photonstorm
0f207c47a7
Calling P2.Body.destroy or ArcadePhysics.Body.destroy wouldn't null the parent sprite body, causing it to error in the next update (thanks @jonathanhooker #1077 )
2014-08-28 03:44:02 +01:00
photonstorm
36ecd81f29
Arcade Physics Body.skipQuadTree is a new boolean that if set to true
when you collide the Sprite against a Group it will tell Phaser to skip using a QuadTree for that collision. This is handy if this Body is especially large.
...
Arcade Physics World.skipQuadTree will disable the use of all QuadTrees in collision methods, which can help performance in tightly packed scenes.
2014-08-04 13:04:11 +01:00
Charles Black
a90ab2e59b
P2 bounds now collides with everything by default
2014-07-27 16:06:55 -04:00
photonstorm
2293b64c94
Removing debug / console.log output.
2014-07-09 05:49:13 +01:00
Paul Salaets
79f550bc89
updating comments: default color and method name
2014-07-05 18:08:00 -04:00
Paul Salaets
0694dab909
reorder param list to be consistent with comment's ordering and other code
2014-07-05 17:50:13 -04:00
Phaiax
00bf349ff5
Body.enable only exists in Arcade physics, so move conditions concerning this into arcarde
2014-06-30 12:49:53 +02:00
photonstorm
69525799d7
New build files for testing.
2014-06-11 12:46:49 +01:00
photonstorm
50e47d89ee
ArcadePhysics.Body.setSize if you set offset x/y values previously and then passed zero values they would be ignored (thanks @casensiom fix #889 )
2014-06-11 00:21:04 +01:00
Richard Davey
13700148fb
Merge pull request #891 from aivins/issue890
...
Separate from TilemapLayer after custom callbacks.
2014-06-11 00:00:20 +01:00
Lewis Lane
a16cb3f5a2
Added notes to overlap/collide regarding non-recursiveness
...
Made it clear that the overlap and collide methods do not recursively check for collisions, i.e. in the case of being passed a Group containing other Groups or Tilemaps.
2014-06-09 08:05:23 +01:00
Andrew Ivins
ccd914620d
Separate from TilemapLayer after custom callbacks.
2014-06-09 14:28:14 +08:00
photonstorm
9c35dfde0c
ArcadePhysics.Body has a new boolean property enable
. If false
the body won't be checked for any collision or overlaps, or have its pre or post update methods called. Use this for easy toggling of physics bodies without having to destroy or re-create the Body object itself.
2014-05-27 11:22:58 +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
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
3b73c17997
ArcadePhysics.Body.phase is checked in postUpdate to prevent it from being called multiple times in a single frame.
2014-04-15 02:50:25 +01:00
photonstorm
439cefd481
ArcadePhysics.Body.hitTest(x, y) will return a boolean based on if the given world coordinate are within the Body or not.
...
Fixed jsdoc method tags in Body.
2014-04-01 03:54:20 +01:00
photonstorm
9762bff5eb
Updated docs to specify callback parameter order ( #667 )
2014-04-01 00:50:24 +01:00
photonstorm
5b73bb21bb
Sprite would glitch if it had an ArcadePhysics Body that was re-positioned out of loop.
...
Sprite would "fly off" if it had an ArcadePhysics Body that was re-positioned during an input handler.
Newly generated docs
2014-03-28 01:42:49 +00:00
Richard Davey
06c953a293
Merge pull request #647 from xtian/grunt-jshint
...
Run jshint as part of build process and fix jshint errors
2014-03-26 15:46:35 +00:00
photonstorm
fc0e239719
ArcadePhysics.Body preUpdate has been modified to stop Sprites with non-1 scaling from gaining delta and moving off the screen ( fix #644 ).
...
Lots of ArcadePhysics.World methods have been marked as private where they shouldn't be called directly (separateX, etc)
2014-03-26 10:48:30 +00:00
Christian Wesselhoeft
5f267baeb0
Fix jshint issues in src/physics/arcade
2014-03-25 14:56:04 -07:00
Christian Wesselhoeft
61f18b675c
Trim trailing whitespace.
2014-03-25 14:56:04 -07:00
photonstorm
26a89f0b84
New build files with tilemap callback fixes in.
2014-03-24 01:39:09 +00:00
photonstorm
b9fcda73ca
ArcadePhysics.World.seperate will now check gravity totals to determine separation order. You can set World.forceX to true to always separate on X first and skip this check.
2014-03-21 11:22:56 +00:00
photonstorm
634b1d1093
Emitter.friction property removed and replaced with Emitter.particleDrag, which is now correctly applied.
...
ArcadePhysics.Body.reset incorrectly set the Body.rotation to Sprite.rotation instead of angle.
Emitter.emitParticle resets the rotation on the particle to zero before emitting it.
Lots of fixes to the TypeScript definitions file (thanks as always to clark-stevenson for his tireless work on these)
Emitters now bring the particle they are about to emit to the top of the Group before doing so. Avoids particles hidden behind others.
ArcadePhysics.Body.setSize corrected to take the parameters as positive, not negative values.
ArcadePhysics.Body now checks the Sprite scale automatically and adjusts the body size accordingly (fix #608 )
Emitter.particleClass can now be set to any object that extends Phaser.Sprite, which will be emitted instead of a regular Sprite.
2014-03-20 03:48:54 +00:00
photonstorm
684ee9c064
ArcadePhysics.Body has a deltaMax object, which allows you to cap the delta applied to the position to +- this value.
...
ArcadePhysics.Body now checks the Sprite scale automatically and adjusts the body size accordingly (fix #608 )
2014-03-20 00:20:02 +00:00
photonstorm
0a42ac39b9
ArcadePhysics.World now has a checkCollision object which can be used to toggle collision against the 4 walls of its bounds.
2014-03-19 04:03:21 +00: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
79ffda3f18
ArcadePhysics.separate doesn't pass over to seperateX/Y if overlapOnly is true ( fix #604 )
...
ArcadePhysics.collideSpriteVsSprite checks if both objects have bodies before processing.
ArcadePhysics.Body now checks the ArcadePhysics.World bounds, not the game bounds.
ArcadePhysics.Body has reverted to the 1.1.3 method of preUpdate, so you can now position sprites with x/y, drag them, etc, regardless of the Body.moves flag (issue #606 )
ArcadePhysics.World now has setBounds and setBoundsToWorld methods, which are called automatically on world resizing.
ArcadePhysics.Body no longer sets the offset to match the anchor.
2014-03-19 02:28:20 +00:00
photonstorm
9490041c79
ArcadePhysics.separate doesn't pass over to seperateX/Y if overlapOnly is true ( fix #604 )
...
ArcadePhysics.collideSpriteVsSprite checks if both objects have bodies before processing.
2014-03-19 02:05:29 +00:00
photonstorm
b9ac0d565e
Fixed Tile callback check in Arcade Physics ( fix #562 )
2014-03-16 00:53:50 +00:00
Richard Davey
fc5504f8d8
Fixed Sprite.destroy with an arcade body
2014-03-15 01:06:01 +00:00
photonstorm
44a5741148
Fixed games. Updated Body.moves handling.
2014-03-14 04:49:55 +00:00
photonstorm
0e29bd4300
Tile Collision Callbacks working properly. CSV / Blank map examples added. Multiple tilesets per map working again. That's it folks!
2014-03-14 04:21:56 +00:00
photonstorm
f3ff9c197f
Fixed all the tilemap examples.
2014-03-14 03:26:06 +00:00
photonstorm
017a017b96
TilemapLayer.getRayCastTiles will let you get all tiles that hit the given line for further processing.
...
Fixed Tilemap collision. Added new TILE_BIAS const to aid with fast/small sprites.
2014-03-14 02:33:58 +00:00
photonstorm
a83a76bc5d
Line.coordinatesOnLine will return all coordinates on the line using Bresenhams line algorithm.
2014-03-14 00:05:03 +00:00
photonstorm
ec0b22268d
Added Body.tilePadding to help with small/fast moving bodies vs. tile collision.
2014-03-13 23:15:32 +00:00
photonstorm
5297497632
Tilemap collision finally getting closer.
2014-03-13 22:49:08 +00:00
photonstorm
e955145707
Added p2 kill and reset test + nearing completion on tilemap collision.
2014-03-13 21:14:18 +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
b666874592
Fixed Body.reset and Tanks game.
2014-03-13 15:57:49 +00:00
photonstorm
dc434dd1ff
Render Debug moved into Arcade class.
2014-03-13 15:41:56 +00:00
photonstorm
41bc616a3b
preUpdate rotation fix.
2014-03-13 13:29:54 +00:00
photonstorm
e9ae465272
Sorted out Body gravity settings and updated the example.
2014-03-11 16:26:03 +00:00
photonstorm
384451bef7
Particles back in and working again. Also updated most of the examples and put Body.gravity back in as well.
2014-03-11 02:49:55 +00:00
photonstorm
a6467f9b60
Fixed Arcade, Ninja and P2 enable methods. Modified core Physics enable. Added world enable test.
2014-03-11 01:11:08 +00:00
photonstorm
9f997daa46
Lots of examples fixes and put Group.sort back in.
2014-03-10 14:33:18 +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
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
2bab4fd2fb
Testing lines.
2014-03-05 04:40:37 +00:00
photonstorm
12a2a2ec16
Testing map collision
2014-03-05 03:18:24 +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
e5812710cc
Added Spring class. Fixed reason why World wasn't pre and post updating (Stage didn't have an exists property).
2014-02-15 02:19:37 +00:00
photonstorm
4aa945f991
Removed PixiPatch as it's no longer needed. Re-worked all of the Sprite autoCull and inWorld checks and cached the bounds. Fixed the Body calculations so physics is working again.
2014-02-09 03:48:31 +00:00
photonstorm
243820c973
Fixing up Pixis setBackgroundColor.
2014-02-08 09:14:44 +00:00
photonstorm
67bd653eb4
Graphics updated and restored. Working through fixing up Physics.
2014-02-07 19:44:14 +00:00
photonstorm
4cfce8b4d2
Group now extends PIXI.DisplayObjectContainer, rather than owning a _container property, which makes life a whole lot easier re: nesting.
2014-02-06 02:31:36 +00:00
photonstorm
e7a9b96d27
Final release 1.1.4 examples finished.
2014-02-05 16:55:02 +00:00
photonstorm
02b75b9e23
Updated doc files.
2014-02-05 16:55:02 +00:00
photonstorm
0896c2fac7
Updating copyright year and README.
2014-02-05 16:54:59 +00:00
photonstorm
846e9c5061
Removed debug info and tidying up ready for release.
2014-02-05 16:54:58 +00:00
photonstorm
1af86771ba
And we have level/ground jitter fixed :) Starstruck is running again properly now too. Time to commit and remove lots of debug data.
2014-02-05 16:54:58 +00:00
photonstorm
84f0f00f49
n-way collision checks and onBeginContact and onEndContact done and working. Also fixed issue in TweenManager.removeAll.
2014-02-05 16:54:58 +00:00
photonstorm
8315973c5d
Body/Group testing complete. Now focusing on n-way collision.
2014-02-03 04:09:45 +00:00
photonstorm
28f71ed86d
Fixed the Sprite / World / Group body issue. So invaders now works again, as do the new examples.
2014-02-03 04:09:45 +00:00
photonstorm
3488880956
Sprite vs. Sprite Group Body Tests.
2014-02-03 04:09:45 +00:00
photonstorm
5e182d317b
Fixed lots of examples and added the missing Line.js.
2014-01-31 14:12:20 +00:00
photonstorm
27fc447928
New polygon collision object examples and Body scale fixes.
2014-01-31 10:34:18 +00:00
photonstorm
45b6d5a741
Removed: Debug.renderSpriteTouching, Debug.renderLocalTransformInfo, Debug.renderWorldTransformInfo, Debug.renderSpriteCollision and Debug.dumpLinkedList.
...
Debug.renderPhysicsBody(body, color) is extremely useful for debugging the new physics bodies. Will draw the outline + points in the color given.
Debug.renderBodyInfo(sprite, x, y, color) will display lots of Sprite body data.
2014-01-31 05:42:20 +00:00
photonstorm
13a86765cb
Phaser.CANVAS_PX_ROUND is a boolean. If 'true' the Canvas renderer will Math.floor() all coordinates before drawImage, stopping pixel interpolation. Defaults to false.
...
Phaser.CANVAS_CLEAR_RECT is a boolean. If 'true' (the default) it will context.clearRect() every frame. If false this is skipped (useful if you know you don't need it)
Collision now works between Sprites positioned via sprite.x/y, sprite.body.x/y or sprite.body.velocity.
If you are tweening a sprite and still want physics collision, set `sprite.body.moves = false` otherwise it will fight against the tween motion.
2014-01-31 04:14:02 +00:00
photonstorm
68b7d22e0d
Fixed issue with the camera being slightly out of sync with 'fixedToCamera' sprites. Also fixed 'jitter' issue with camera targets.
2014-01-31 03:32:12 +00:00
photonstorm
6e4e99f436
Added Game Update loop step debugging - has proved utterly invaluable! Resolved camera jitter issues, gravity / downward force on tile/boundary issues and most tilemap collision issues.
2014-01-31 02:06:45 +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
d51a37211c
Phaser.Line added to the group of geometry classes, with full point on line/segment and intersection tests (see new examples)
2014-01-29 00:21:28 +00:00
photonstorm
5b85c910cb
New lineIntersectLine() function working nicely.
2014-01-28 17:13:07 +00:00
photonstorm
82cb66f47b
Updated intersects code, tilemap collision is running again. Still finding gravity pushing sprites through tiles.
2014-01-28 06:52:56 +00:00
photonstorm
9deb5514a2
ArcadePhysics.setBoundsToWorld implemented. Body.setCircle, setRectangle and setPolygon all working. Tidying up Body class. Need to add tile collision special case handler next.
2014-01-28 05:01:17 +00:00
photonstorm
90c09374af
Velocity integration tidied up. Now moving to sync Body with Sprite center point.
2014-01-28 01:29:35 +00:00
photonstorm
fbe508ab1b
Direct assignment of Body values, allows for sloped ground walking.
2014-01-27 17:08:20 +00:00
photonstorm
dbdb2a2026
Adjusted delta timer cap and fixed some typos and more examples.
2014-01-27 17:08:20 +00:00
photonstorm
4505aa50f6
Integrated SAT. Fixed lots of examples. Fixed documentation. Added new examples and built new phaser.js file for testing.
2014-01-27 06:29:26 +00:00
photonstorm
45518b3ecd
Adding checkCollision tests.
2014-01-24 17:30:37 +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
ea9e22f472
SAT implemented and working nicely at long last :)
2014-01-23 21:45:35 +00:00
photonstorm
110ab4e253
More robust gravity handling avoiding 'sticky walls'. Added new platform test with mixture of mass tile collision and physics.
2014-01-23 01:50:43 +00:00
photonstorm
20108e47f3
Working through re-integrating tilemap collision. So far, so good.
2014-01-22 16:16:53 +00:00
photonstorm
1370ba52b5
Fixed Sci-Fly and restored tile collision handling.
2014-01-22 14:49:06 +00:00
photonstorm
b2c49ef853
Merging previous changes back in again.
2014-01-22 14:31:18 +00:00
photonstorm
f6af6fe0a3
Not fully working, but commit for posterity. Time to rollback if we're ever going to get this released.
2014-01-22 12:31:35 +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
Richard Davey
c9d07c7346
Testing out new Body structure
2014-01-20 23:07:56 +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
abdaaa0010
Tidied up the docs and removed some Body vars no longer needed. Now to attempt stacking.
2014-01-15 14:40:25 +00:00
photonstorm
58fb248575
Optimised Body loop, removed sleep properties, implemented minBounceVelocity. Working as expected at last :)
2014-01-15 14:40:25 +00:00
photonstorm
283e38aaae
Time to optimise the rebound a little.
2014-01-15 14:40:25 +00:00
photonstorm
be6489fbc9
Body bounce + blocking values nearly sorted.
2014-01-15 14:40:24 +00:00
photonstorm
651737fdd0
More physics tweaks.
2014-01-15 14:40:24 +00:00
Richard Davey
d8bf13eaaa
Merge pull request #309 from jcd-as/dev1
...
fix sprite vs sprite overlap check
2014-01-14 14:35:06 -08:00
photonstorm
bd66be1804
Updated Tilemap classes and further tests.
2014-01-14 22:34:41 +00:00
jcs
01a314018d
fix sprite vs sprite overlap check
2014-01-14 13:51:55 -08:00
photonstorm
32f5a2fa36
More examples updates. Fixed Starstruck tilemap code, removed un-needed ArcadePhysics methods and rebuilt the js files for testing.
2014-01-14 03:33:03 +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
bd9898db7e
New merged separate function that now uses processCallback the way it was always meant to be used.
2014-01-14 01:18:46 +00:00
photonstorm
e7c2b6ae9c
Fixed nearly all of the tilemap examples to use the new tilemap system.
2014-01-14 00:31:58 +00:00
photonstorm
c6fa2cb7b6
Added the new Timer, TimerEvent and Time methods to the TypeScript definitions files.
2014-01-13 14:18:15 +00:00
photonstorm
0a0e775ea5
Removed temp. debug vars.
2014-01-09 17:12:24 +00:00
photonstorm
10d105d5ce
Acceleration tested and working fine. Proper accurate friction added and working really nicely, so much better than 'drag' used to. Considering removing drag, although will break the API history.
2014-01-09 03:42:58 +00:00
photonstorm
67e2caafbc
Added new Contributors guide.
2014-01-08 11:21:48 +00:00
photonstorm
c3183dcea9
Angular Physics re-implemented, most tests now working as expected.
2014-01-03 04:50:31 +00:00
Richard Davey
f7329e0661
Further physics modifications
2014-01-03 02:24:06 +00:00
photonstorm
5526a7322b
Warning: This version has a new ArcadePhysics handler in it. Don't upgrade if you need this for live game code, wait until we go to master. Otherwise, this commit contains lots of new physics demos and a new updateMotion and Body class to try and fix, once and for all, the physics issues with applied forces.
2014-01-02 23:28:22 +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
Richard Davey
2c8077835c
Merge pull request #251 from cocoademon/physics_self_collide_fix
...
Don’t test self-collisions
2013-12-26 15:10:28 -08:00
photonstorm
dd7ae12271
ArcadePhysics.overlap and collide now recognise TileSprites in the collision checks.
2013-12-17 16:48:03 +00:00
Richard Davey
a0961f27df
Merge pull request #266 from cocoademon/physics_instability_fix
...
Physics instability fix. I'm merging this in so I can test it against the updates here.
2013-12-17 04:36:38 -08:00
photonstorm
896e9af9f5
TilemapLayers now render tiles correctly, with our without debugging overlay. Collision working well across single and index ranges.
2013-12-17 05:07:00 +00:00
Cameron Foale
b8dbb5d125
Take dt into account for gravity calculations
2013-12-17 14:38:44 +11:00
Cameron Foale
388e42c80a
Remove invalid multiply by 60 in Phaser.ArcadePhysics.updateMotion
2013-12-17 13:45:15 +11:00
photonstorm
da5d8c9272
Updated p2.js to latest build.
2013-12-11 03:20:33 +00:00
Cameron Foale
56389fcaf4
Fix riding on platforms
2013-12-11 10:25:57 +11:00
photonstorm
886618c056
Tilemap collision fixed, regardless of rotation, number of overlapping tiles and speed (to a point anyway). Maps also don't crash if they are smaller than the render area. Layers can be positioned successfully anywhere in camera but collision isn't yet offset for this.
2013-12-06 04:34:27 +00:00
photonstorm
ca3c71e8f5
Added max overlap clamp.
2013-12-06 02:44:06 +00:00
photonstorm
8e289e6b7c
Mostly working, just need to apply a max overlap to avoid tunneling, although a ray would be better.
2013-12-06 02:34:28 +00:00
photonstorm
1f513a333e
Fixed an issue where passing null as the Group parent wouldn't set it to game.world as it should have (thanks tito100).
...
Continued work on the tilemap collision - again, please don't use this version if you need working tilemaps.
2013-12-06 01:07:25 +00:00
photonstorm
ea3802a556
Lots of new tilemap code in here. If your game relies on tilemaps then please don't update to this commit unless you want to help debugging!
2013-12-05 18:12:16 +00:00
Cameron Foale
b48669dded
Don’t test self-collisions
2013-12-05 16:26:03 +11:00
photonstorm
a9a46bfbbf
Lots of documentation updates and new Loader examples.
2013-11-27 16:33:49 +00:00
Josh Shepard (jcs)
f4688241d2
update the collision hulls in sprite->sprite separations (in addition to sprite->tile separations)
2013-11-25 20:58:39 -08: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
photonstorm
38bd00b4ed
ArcadePhysics.separateTile wasn't returning the value, so the custom process callback wasn't getting called (thanks flameiguana)
2013-11-16 13:47:12 +00:00
photonstorm
1eca16a948
ArcadePhysics.updateMotion applies the dt to the velocity calculations as well as position now (thanks jcs)
2013-11-05 16:14:24 +00:00
photonstorm
3c164b466c
* Updated: event.preventDefault() has been added to all Mouse event handlers.
...
* Updated: Sprite.deltaX/Y removed due to non-use. prevX/Y values moved to Sprite._cache.prevX/Y.
* Updated: Due to missing extends parameter the Sprite prototype was picking up functions from classes it never meant to (Button, TilemapLayer), now fully isolated.
2013-11-01 02:07:21 +00:00
photonstorm
6f93a2ec94
Multiple Anims update, Tilemap fixes and some new examples.
2013-10-31 15:45:19 +00:00
photonstorm
24c809dd5f
Final body / physics / bounds fixes. Also updated various examples, optimised Sprite core loop and enhanced the Invaders example.
2013-10-30 03:46:52 +00:00
photonstorm
3de62907a0
Nearly fixed the tilemap / body issue. More tests needed but then can push to master.
2013-10-29 04:07:26 +00:00
photonstorm
a814cc26cc
* Fixed issue 135 - Added typeof checks into most ArcadePhysics functions to avoid errors with zero values.
...
* Fixed issue 136 - distanceTo using worldX/Y instead of x/y.
2013-10-28 10:17:36 +00:00
photonstorm
6994e4be5e
Merge branch 'dev'
2013-10-25 18:50:14 +01:00
photonstorm
65d2bf557b
Updated docs and more tidying up.
2013-10-25 17:30:37 +01:00
photonstorm
9f9e6a2a57
Lots of doc updates!
2013-10-25 16:54:40 +01:00
photonstorm
7e5f38d022
Phaser.Time physicsElapsed delta timer clamp added. Stops rogue iOS / slow mobile timer errors causing crazy high deltas.
2013-10-23 17:11:06 +01:00
photonstorm
4a51ac4671
Updated README and sorting out folder case issue.
2013-10-23 13:30:23 +01:00
photonstorm
8ed783802e
New examples page
2013-10-18 15:12:32 +01:00
photonstorm
9c1fdb371c
Nearly finished Tilemap integration into the core.
2013-10-16 06:33:39 +01:00
photonstorm
31018b9295
Star Struck game back and working again, plus finished the level design.
2013-10-16 03:37:15 +01:00
photonstorm
a97f271de7
Fixed Animation index 0 issue and hooked TilemapLayer to camera.
2013-10-16 02:09:12 +01:00
photonstorm
fd5eeb9088
Fixed Rectangle intersection issue and tilemap collision is working again. Win!
2013-10-15 15:24:07 +01:00
photonstorm
f3ea68aad3
Extracting the correct area from a layer, debug displaying it and preparing for collision.
2013-10-15 05:41:42 +01:00
photonstorm
dd695e066f
More tilemap tweaks.
2013-10-14 19:37:52 +01:00
photonstorm
a7230aa769
Sprite.loadTexture added.
2013-10-10 09:03:38 +01:00
photonstorm
29acf7fb4b
Enemy tanks, now firing.
2013-10-09 07:11:36 +01:00
photonstorm
ca9321ef42
Updated physics body to use localTransform. Updated tanks demo.
2013-10-09 05:13:38 +01:00
photonstorm
83a00862be
Lots of new examples and updates.
2013-10-09 04:31:08 +01:00
photonstorm
f5584bdfe5
Lots of fixes and updates to ArcadePhysics and Group, plus more examples.
2013-10-08 21:09:46 +01:00
photonstorm
c307f79102
Added Sprite.fixedToCamera, fixed Angular Velocity and Acceleration, fixed jittery Camera, added skipQuadTree flag and created lots more examples.
2013-10-08 00:58:20 +01:00
Richard Davey
e8bed83ac3
Making some major changes to Camera and World.
2013-10-04 14:41:15 +01:00
Richard Davey
7c7cd8b01d
More docs and quick patch to stop the body.allowRotation messing things up.
2013-10-01 16:56:47 +01:00
Richard Davey
ca113b85aa
More docs coming on.
2013-10-01 16:39:39 +01:00
Richard Davey
8d17e1f963
Sound duration fixes.
2013-09-30 12:17:21 +01:00
Richard Davey
9d84429960
Group length checks
2013-09-24 15:49:21 +01:00
Richard Davey
891369b197
Preparing for 1.0.6 release, but moving physics changes to dev.
2013-09-24 15:28:29 +01:00
Richard Davey
51049128f5
Collision fixes for testing
2013-09-23 22:23:17 +01:00
Richard Davey
257cbe3be8
Much more stable collision, just need to refactor the Tilemap handling - see if I can optimise it a bit too.
2013-09-23 03:26:08 +01:00
Richard Davey
bc02a1a05e
Fixing collision issues
2013-09-23 01:06:09 +01:00
Richard Davey
a415e779d1
Final 1.0.5 release.
2013-09-20 13:55:33 +01:00
Richard Davey
f069107e55
1.0.1 release - fixes issues in tile map collision, additional Animation stop checks and updated package license.
2013-09-15 03:58:38 +01:00
Richard Davey
62d77e7038
Small new demo and refactored collision list - now far less comparisons to perform!
2013-09-13 04:22:12 +01:00
Richard Davey
0a42269479
Group vs. Group collision working - also fixed a bug in the Body.reset function that was causing some lovely physics errors :)
2013-09-13 03:52:05 +01:00
Richard Davey
ecc91fb4e0
More collision test cases and fixing a few issues as I go :)
2013-09-13 03:07:39 +01:00
Richard Davey
f812b92b8a
Creating test cases.
2013-09-13 02:07:58 +01:00
Richard Davey
a1450680a4
Part way through re-factoring the collision handler
2013-09-13 00:53:03 +01:00
Richard Davey
9f687b4f8a
Adding Type support for collision checks.
2013-09-12 21:54:41 +01:00
Richard Davey
79dc3566f4
Fixed some issues in Tilemap collision, updated the Emitter so x/y controls the point of emission (to stop collision getting out of whack) and fixed the postUpdate in body.
2013-09-12 20:59:56 +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
fba731e740
Added optional "pixel perfect" input checks and tested against static sprites, animated sprites, physics sprites and sprites positioned outside the screen (needing camera shift to appear).
2013-09-11 16:25:46 +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
5d3fe891cd
Particle Emitter in and working. Nice and fast, and a lot more flexible than before.
2013-09-10 01:26:50 +01:00
Richard Davey
78598ae54a
Implemented my own LinkedList class to make the new Input Handler easier to work with. And also just generally useful to have too.
2013-09-08 11:24:41 +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
bb5d8ca170
a
2013-09-07 21:12:47 +01:00
Richard Davey
eb7af3d2a2
Group nearly done. Sprite.anchor appears to be broken though, must fix.
2013-09-06 20:20:58 +01:00
Richard Davey
822a2df289
Lots of work on Group and also resolved the issue of the core game loop structure not being quite right.
2013-09-06 15:00:05 +01:00
Richard Davey
0c97e8e151
Starting work on Group.
2013-09-05 21:07:44 +01:00
Richard Davey
10bc22b717
Motion helper functions added to the ArcadePhysics class.
2013-09-04 16:12:58 +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
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
2a353a0327
Flixel physics optimised about as much as it can be. Also added world and local gravity support and flag to toggle it on / off.
2013-09-04 01:10:01 +01:00
Richard Davey
0f438d5221
separateX up and working sweet with gc spike removal too
2013-09-03 19:34:38 +01:00
Richard Davey
a27f6d6562
Forces working, collision half way there.
2013-09-03 17:28:12 +01:00
Richard Davey
2fe8a3a0a7
Physics integration and a fix to Tween that stopped the repeat/yoyo from working.
2013-09-03 17:07:05 +01:00
Richard Davey
bdc1c2ceb9
Sorted out the bounds for when sprites are in trimmed texture atlases to stop the physics checks going insane. Also bundled in Advanced Physics lib, although not hooked up yet.
2013-09-03 15:35:40 +01:00