Commit graph

791 commits

Author SHA1 Message Date
samme
8e717d5588 Remove GroupClassTypeConstructor type 2019-05-23 15:10:40 -07:00
BdR76
f28df06bcf
drawDebug, display checkCollision sides
drawDebug, instead of rectangle only draw the sides where checkCollision is true, similar to debugger in layer
2019-05-19 14:49:15 +02:00
hizzd
4aa3d9f81a
Fixed separateCircle cause the position set NaN. 2019-05-11 20:52:57 +08:00
Richard Davey
c91ed91ce3 License link update 2019-05-10 16:15:04 +01:00
Richard Davey
e8f6bae7cb A Body with damping and drag enabled would fail to move if it went from zero velocity to a new velocity inside an update loop. It will now reset its speed accordingly and retain its new velocity 2019-05-10 12:28:06 +01:00
Richard Davey
fbe2470f99 Arcade Physics Types 2019-05-09 12:33:37 +01:00
Richard Davey
e916dbe783 Math Types 2019-05-09 12:32:37 +01:00
Richard Davey
8e8b182359 Group Types 2019-05-09 11:56:16 +01:00
Richard Davey
ff9f7cf574 Always world step once 2019-05-08 15:43:01 +01:00
Richard Davey
18a924c39c Passing an _array_ of configuration objects to physics.add.group would ignore them and none of the children would be assigned a physics body. Fix #4511 2019-05-07 16:17:28 +01:00
Richard Davey
63ddc0b07d
Merge pull request #4279 from akuskis/Issue_#4256.Circles_collision
Fix circles collision #4256
2019-05-04 12:44:29 +01:00
Richard Davey
dcf2d44f4a Removed un-used properties 2019-05-03 17:38:37 +01:00
Richard Davey
bf741e962c Restored Arcade Physics v1 and merged in all the core changes 2019-05-03 17:28:06 +01:00
Richard Davey
11c1b458fa Phaser.Physics.Arcade.Events is now exposed in the namespace, preventing it from erroring if you use them in TypeScript. Fix #4481 2019-04-24 13:44:57 +01:00
Richard Davey
2ecaad5f03 Fixes use of static keyword. Fix #4458 2019-04-05 18:04:34 +01:00
Richard Davey
3075e088c7 Added directX and directY properties as well as setDirectPosition method. 2019-04-01 23:15:00 +01:00
Richard Davey
64d8f928d0 Fixed sleeping and strengthening direct control movement. 2019-04-01 17:19:38 +01:00
Richard Davey
e7334834ff Abort? Then abort. 2019-04-01 17:19:07 +01:00
Richard Davey
c907432c2b Refactoring to handle checkCollision better 2019-04-01 17:18:58 +01:00
Richard Davey
4ca877b32e Now returns area of intersection in a temp rectangle 2019-04-01 14:58:51 +01:00
Richard Davey
3e5358dded Dump CI to window for testing 2019-03-31 23:16:27 +01:00
Richard Davey
0f4e9f289d Fixed issue with delta = 1 2019-03-31 23:16:13 +01:00
Richard Davey
4d660f2f51 Minimum displacement linear equation solver finally working properly, yay! 2019-03-29 17:07:48 +00:00
Richard Davey
c636c58ff8 Working out incorrect face at high speeds 2019-03-29 00:10:58 +00:00
Richard Davey
b97bf51329 Removed positionIterations 2019-03-28 23:35:09 +00:00
Richard Davey
b99e680f6b Fixed swizzle and embedded abort 2019-03-28 23:33:00 +00:00
Richard Davey
535388b828 Added Distance Threshold and seeking 2019-03-28 23:32:46 +00:00
Richard Davey
5589374e71 Removed debugging 2019-03-28 23:32:24 +00:00
Richard Davey
14781003b3 Temp logs on 2019-03-28 14:58:57 +00:00
Richard Davey
cb77405031 Better seek handling 2019-03-28 14:58:51 +00:00
Richard Davey
bb058dc7ba Moved OverlapRect to a component and added option to scan both dynamic and static bodies 2019-03-28 14:10:03 +00:00
Richard Davey
9577f3e612 Added condition to resolve fast moving body penetration hitting the wrong face 2019-03-28 14:09:45 +00:00
Richard Davey
2317cb216e Emits new TOUCH event 2019-03-27 15:53:19 +00:00
Richard Davey
5eebdff3ca Now properly handles body face blocking 2019-03-27 15:53:01 +00:00
Richard Davey
13181e2238 Embedded? Don't block then. 2019-03-27 15:52:45 +00:00
Richard Davey
07149fd737 New TOUCH event 2019-03-27 15:52:31 +00:00
Richard Davey
7dbda9fe62 Added new arguments to method 2019-03-27 15:52:18 +00:00
Richard Davey
28b41254ba Removed unused code 2019-03-27 15:52:04 +00:00
Richard Davey
7a05c205b1 Docs fix 2019-03-27 15:51:55 +00:00
Richard Davey
7ae4a441e1 Added onTouch event flag and setCheckCollision methods 2019-03-27 15:51:43 +00:00
Richard Davey
e5f03f02db Added isBody boolean. 2019-03-27 11:54:08 +00:00
Richard Davey
a67792ada6 Handle non-Game Object Body collision 2019-03-27 11:53:56 +00:00
Richard Davey
cc1b96a309 The Body.setCollideWorldBounds method has two new optional arguments bounceX and bounceY which, if given, will set the World Bounce values for the body. 2019-03-27 11:53:34 +00:00
Richard Davey
2b4568cf05 Body no longer sleeps if rotating and fixed moving a rebounding object 2019-03-27 10:46:42 +00:00
Richard Davey
7dbb502616 Fixed jsdocs references 2019-03-27 09:50:58 +00:00
Richard Davey
596803a434 Exposed the overlap functions 2019-03-27 09:50:48 +00:00
Richard Davey
168e184d04 You can now create a Body or StaticBody directly 2019-03-27 09:50:36 +00:00
Richard Davey
6e3d4bac6d Removed un-needed files 2019-03-27 09:50:20 +00:00
Richard Davey
adb28d2f6e Added new Rectangle Arcade Physics Body type 2019-03-27 00:21:03 +00:00
Richard Davey
c819599304 Use of a Game Object bound to a body is now optional 2019-03-27 00:20:49 +00:00
Richard Davey
811ed0e340 Dynamic and Static both now extend the Base Body. 2019-03-26 16:51:15 +00:00
Richard Davey
2e5e438ec4 Added a new Base Body class to extend from. Saves a lot of duplication. 2019-03-26 16:51:01 +00:00
Richard Davey
5bb2161d49 Fixed issue with non zero origins 2019-03-26 15:29:58 +00:00
Richard Davey
ab2f489c5a Renamed ambiguous movingX/Y, also broke out moveX to checkX and tidied up more 2019-03-26 13:07:57 +00:00
Richard Davey
0b8fb1a21e Much better hard blocking flag sets 2019-03-26 13:07:25 +00:00
Richard Davey
d942d28a81 Swap to use canMove and also new moveX/Y methods 2019-03-26 13:07:04 +00:00
Richard Davey
5242a62221 Comment out logs 2019-03-26 13:06:45 +00:00
Richard Davey
469b74b489 Handle single face intersects 2019-03-26 13:06:26 +00:00
Richard Davey
b7f1888549 Work out the dominant face even if not intersecting, or if perfectly aligned 2019-03-26 00:05:26 +00:00
Richard Davey
9b65f1bcc6 Moved sleep checks around 2019-03-26 00:05:09 +00:00
Richard Davey
108e2e5d7f Added GravityX and reduced iterations to 1 for testing 2019-03-26 00:04:55 +00:00
Richard Davey
c58526fc74 Tidying up and resolving fractional comparisons 2019-03-25 17:25:39 +00:00
Richard Davey
7171d95578 Log out some test data 2019-03-25 17:25:25 +00:00
Richard Davey
c8ec524068 Debug tests 2019-03-25 17:25:17 +00:00
Richard Davey
74be0955ca Lots of small tweaks 2019-03-25 17:25:11 +00:00
Richard Davey
e83db95f77 Use ColInfo 2019-03-25 17:25:03 +00:00
Richard Davey
075e030fb1 Zero out fractional intersections 2019-03-25 17:24:48 +00:00
Richard Davey
17d4600f2f Updating separate method 2019-03-25 12:56:01 +00:00
Richard Davey
21df050e88 Works using ColInfo object now 2019-03-25 12:55:52 +00:00
Richard Davey
df55ffd32a Lots of little fixes 2019-03-25 12:55:41 +00:00
Richard Davey
3e499831cc Added functions for left / right checks 2019-03-25 12:55:31 +00:00
Richard Davey
8c825692af Added most interesting face result 2019-03-25 12:55:18 +00:00
Richard Davey
eec2f4cac1 Single functions to handle the data 2019-03-25 12:55:08 +00:00
Richard Davey
e976721321 Start of the update to make it work across both axis 2019-03-24 23:31:31 +00:00
Richard Davey
d3460ba20f Only needs CollisionInfo 2019-03-24 23:31:20 +00:00
Richard Davey
94bebab24d Silence logs for now 2019-03-24 23:31:11 +00:00
Richard Davey
9dcd3569b4 Added new X axis functions 2019-03-24 23:30:57 +00:00
Richard Davey
1f07eaa79f Testing rideable bodies 2019-03-24 23:30:38 +00:00
Richard Davey
e017691c68 The ScaleMode Component has been removed from every Game Object, and along with it the scaleMode property and setScaleMode method. These did nothing anyway as they were not hooked to the render pipeline and scale mode should be set on the texture, not the Game Object. Fix #4413 2019-03-24 23:07:27 +00:00
Richard Davey
a85e6283ec All of the Arcade Physics Components are now available directly under the Phaser.Physics.Arcade.Components namespace. Fix #4440 2019-03-24 22:51:34 +00:00
Richard Davey
427019ab53 Tidied it all up. Refactored down into smaller function. 2019-03-22 19:08:08 +00:00
Richard Davey
3cba010a28 Removed un-used properties 2019-03-22 19:07:52 +00:00
Richard Davey
c86ff4c7c7 Silence logs 2019-03-22 19:07:41 +00:00
Richard Davey
766e0eb210 Don't need these properties any more 2019-03-22 19:07:30 +00:00
Richard Davey
4f0a9ba01d Better immovable handling 2019-03-22 19:07:19 +00:00
Richard Davey
de08c9b0db Removed lots of un-used vars and added 'rideable' support 2019-03-22 19:07:06 +00:00
Richard Davey
b48247dada Body now wakes from direct velocity property modification 2019-03-22 15:01:47 +00:00
Richard Davey
ad9a0fad00 Fixed body waking situations 2019-03-22 14:48:00 +00:00
Richard Davey
cf504ac9c2 Body.setVelocity was cause the speed property to be set to NaN if you didn't provide a y argument. 2019-03-22 13:16:37 +00:00
Richard Davey
bef0b163a2 Clear snapTo 2019-03-22 12:50:28 +00:00
Richard Davey
34ed8f0b5a Remove log 2019-03-22 12:50:21 +00:00
Richard Davey
4d4c5353ec Added World positionIterations property to help settle busy scenes 2019-03-22 12:18:34 +00:00
Richard Davey
7c5f6adfe8 Don't apply the force until postUpdate - resolves all issues with body spacing :) 2019-03-22 11:34:23 +00:00
Richard Davey
963ed11cb4 Fixed getMove flow 2019-03-22 02:39:10 +00:00
Richard Davey
06acf492bc Refactored getMoveY 2019-03-22 02:29:48 +00:00
Richard Davey
026c2049c0 Commented out a few logs 2019-03-22 02:29:34 +00:00
Richard Davey
813e135f72 Pass on the hardblock state 2019-03-22 01:58:36 +00:00
Richard Davey
ec67d02b21 Blockers is now a face array and added hardBlocked support 2019-03-22 01:17:32 +00:00
Richard Davey
18333f9ec7 Set hard blocking 2019-03-22 01:17:14 +00:00
Richard Davey
ae89e44364 New debug colors 2019-03-22 01:16:54 +00:00
Richard Davey
19bfe38d04 Resolved issue with bounds penetration (finally) 2019-03-21 23:21:02 +00:00
Richard Davey
9ac70e32b0 Now using CollisionInfo (and more debugging) 2019-03-21 17:25:01 +00:00
Richard Davey
21ca1abe00 Gravity application test 2019-03-21 17:24:47 +00:00
Richard Davey
9cabcd5d73 Tidying up 2019-03-21 17:24:34 +00:00
Richard Davey
212e8caba2 Now using CollisionInfo 2019-03-21 17:24:26 +00:00
Richard Davey
977e3b0ac3 Exposed IntersectsRects 2019-03-21 17:24:14 +00:00
Richard Davey
eae681bda2 Added new CollisionInfo handler 2019-03-21 17:24:03 +00:00
Richard Davey
0005cf590e Resolved bounds sleep issue
Now to create collision info objects for sleep settling.
2019-03-21 11:31:05 +00:00
Richard Davey
6a145049b1 Testing issue with sticky bodies 2019-03-21 01:02:38 +00:00
Richard Davey
1518f49c23 Finally traced down the culprit. Now to resolve. 2019-03-20 17:14:44 +00:00
Richard Davey
1383aba08e Hide some logs 2019-03-20 17:14:31 +00:00
Richard Davey
a0fc1ca3cc Tidying up 2019-03-20 17:14:21 +00:00
Richard Davey
792f458e32 Better "is moving" handling 2019-03-20 15:00:17 +00:00
Richard Davey
93f012d3e3 Frame counter. Handy for debuggin. 2019-03-20 15:00:05 +00:00
Richard Davey
0f59b326f6 Sleeping can now force a position 2019-03-20 14:59:53 +00:00
Richard Davey
ec1b765833 Logging to figure out sleeping in the air 2019-03-20 10:41:06 +00:00
Richard Davey
1c81425771 Add forceY arguments 2019-03-20 10:40:32 +00:00
Richard Davey
bfdd039bf4 Don't force body position at this point 2019-03-20 10:40:19 +00:00
Richard Davey
290ef210f4 Doh, sqrt returns positive. Math.abs our velocities 2019-03-20 10:20:02 +00:00
Richard Davey
022ce80333 Fixed 'moves' assignment and added min velocity support 2019-03-20 04:07:58 +00:00
Richard Davey
bf25e424f0 Added support for minVelocity and fixed zero gravity rebound issue 2019-03-20 04:06:53 +00:00
Richard Davey
81e2851b37 Moved sleeping to new function and made stronger 2019-03-20 01:28:00 +00:00
Richard Davey
5dcd844701 Added world blocked debug color 2019-03-20 00:08:23 +00:00
Richard Davey
87e9f8e62d Don't reforce a forced position 2019-03-20 00:02:16 +00:00
Richard Davey
1e5c2ea0fc Reworked blocker handling 2019-03-20 00:02:04 +00:00
Richard Davey
fcd7f25091 Preparing to swap for isBlocked checks 2019-03-19 23:21:59 +00:00
Richard Davey
68c8bd3af2 Removed logs array and tidying up the flow 2019-03-19 23:21:48 +00:00
Richard Davey
7a602ab105 Removed logs and added blockers 2019-03-19 23:21:35 +00:00
Richard Davey
0cef93134f Set blocker, not world blocker 2019-03-19 23:21:23 +00:00
Richard Davey
6462e18527 Gravity vars 2019-03-19 23:21:06 +00:00
Richard Davey
8373936896 Removing need for sqrts when mass is the same 2019-03-19 00:27:26 +00:00
Richard Davey
d59617a627 Never ending debugging ahoy. 2019-03-18 17:17:59 +00:00
Richard Davey
5485c07b32 Fixed world gravity rebound 2019-03-18 14:55:54 +00:00
Richard Davey
df0c76569f Added world rebounds handler 2019-03-18 14:12:52 +00:00
Richard Davey
4e993ce296 Much better seperation code and testing block exchange 2019-03-18 14:12:40 +00:00
Richard Davey
728a6da8e6 Gravity stored in properties. Intersects padding removed. 2019-03-18 14:12:12 +00:00
Richard Davey
1306ad2f4a Splitting up the process of checking and separating, merging results back into Body
Body now tracks previously blocked so it can test block status before update happens.
2019-03-18 08:08:46 +00:00
Richard Davey
01ddf26662 Optimizing code out 2019-03-15 19:22:51 +00:00
Richard Davey
f555757032 Refined soft blocks vs. hard blocks 2019-03-15 19:22:42 +00:00
Richard Davey
2e63be9dd8 Added setWorldBlocked methods 2019-03-15 19:22:32 +00:00
Richard Davey
7e6efb342e Only apply gravity if not blocked and use new intersects method 2019-03-15 19:22:13 +00:00
Richard Davey
edf1b57c17 New Intersects method as it's used in multiple places 2019-03-15 19:21:54 +00:00
Richard Davey
3e967ab300 Move sleep iterations to property and add wake method 2019-03-15 13:31:57 +00:00
Richard Davey
1fc476d738 Wake-up sleeping bodies on impact 2019-03-15 13:31:40 +00:00
Richard Davey
9500fbc97c No gravity for sleeping bodies 2019-03-15 13:31:26 +00:00
Richard Davey
e93c40ddb1 Set forcePosition flag 2019-03-15 12:54:25 +00:00
Richard Davey
bdde075643 Implemented sleeping and much better debug drawing 2019-03-15 12:53:59 +00:00
Richard Davey
ae93accf2e Added the new debug colors to the World defaults 2019-03-15 12:52:55 +00:00
Richard Davey
b635458ebb More resting tests 2019-03-14 17:20:47 +00:00
Richard Davey
a74feee87d Use local var 2019-03-14 17:20:31 +00:00