Commit graph

154 commits

Author SHA1 Message Date
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
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
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
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
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
photonstorm
da5d8c9272 Updated p2.js to latest build. 2013-12-11 03:20:33 +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
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
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
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
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
a97f271de7 Fixed Animation index 0 issue and hooked TilemapLayer to camera. 2013-10-16 02:09:12 +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
ca9321ef42 Updated physics body to use localTransform. Updated tanks demo. 2013-10-09 05:13:38 +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
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
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
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
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