Commit graph

396 commits

Author SHA1 Message Date
Richard Davey
f3c53b4c55 Added all of the state methods and swapped to using them
Reduces code complexity, improves readability, reduces duplicated code
2022-09-07 18:11:24 +01:00
Richard Davey
3aaf9b1dbd Reset the delta and elapsed for more accurate timing 2022-09-06 18:50:14 +01:00
Richard Davey
9fc45df7ac Update Tween.js 2022-09-06 18:50:01 +01:00
Richard Davey
68c560064c All of the 'Scope' tween configuration callback properties have been removed, including onActiveScope, onCompleteScope, onLoopScope, onPauseScope, onRepeatScope, onResumeScope, onStartScope, onStopScope, onUpdateScope and onYoyoScope. You should set the callbackScope property instead, which will globally set the scope for all callbacks. You can also set the Tween.callbackScope property. 2022-09-06 15:38:05 +01:00
Richard Davey
2f638d4abe You can now specify a target property as 'random' to have the Tween pick a random float between the two given values. For example: alpha: 'random(0.25, 0.75)'. If you wish to only select a random integer, you can use 'int' instead: x: int(300, 600)'. 2022-09-06 15:34:02 +01:00
Richard Davey
ca571b2571 Update TweenData.js 2022-09-05 18:54:21 +01:00
Richard Davey
d058d216ed Starting to refactor for new TweenData format 2022-09-02 18:56:40 +01:00
Richard Davey
e22009f585 Don't pass value if no interpolation func 2022-09-02 18:56:26 +01:00
Richard Davey
46739819db Added jsdocs and returned TweenData 2022-09-02 18:56:04 +01:00
Richard Davey
e0202e6953 No need for ternary check 2022-09-02 18:55:53 +01:00
Richard Davey
02a6989ec7 Uses string based callback approach 2022-09-02 18:14:51 +01:00
Richard Davey
9da43d3af4 jsdoc updates and tidying up 2022-09-02 18:10:24 +01:00
Richard Davey
4eea1e75b3 Use GetValue for numeric-only properties 2022-09-02 18:10:08 +01:00
Richard Davey
072c709d04 Update GetNewValue.js 2022-09-02 18:09:52 +01:00
Richard Davey
2fc5c358f1 Finished jsdocs and tidied up some functions 2022-09-02 18:09:46 +01:00
Richard Davey
9cb86916ab Added new typedefs for states and TweenData 2022-09-02 18:09:30 +01:00
Richard Davey
b60fa310be Update Tween.js 2022-09-02 16:20:49 +01:00
Richard Davey
8b6bdba654 Just use targetIndex plus tidied up functions 2022-09-02 16:20:39 +01:00
Richard Davey
05659d2b6b Refactored TweenData into a class to aid the VM in knowing its shape 2022-09-02 00:56:22 +01:00
Richard Davey
be6d69b574 Updated new timestep system, added full docs 2022-09-01 18:54:42 +01:00
Richard Davey
13e812bea0 Lots of tidying up and refactoring 2022-09-01 18:54:27 +01:00
Richard Davey
32bf211131 Removed unused const 2022-09-01 18:54:17 +01:00
Richard Davey
6aea1e7c94 Update TweenManager.js 2022-09-01 00:00:05 +01:00
Richard Davey
af18ffd564 Testing new timing system 2022-08-31 18:55:40 +01:00
Richard Davey
18e639a37a Consolidated init, seek and calcDuration into a single method 2022-08-31 13:48:37 +01:00
Richard Davey
6e69ecdb0c Corrected the jsdocs 2022-08-31 12:50:25 +01:00
Richard Davey
9eb364e3a2 Trying new flow 2022-08-30 23:45:19 +01:00
Richard Davey
b352deff83 create accepts an array as well 2022-08-30 22:06:48 +01:00
Richard Davey
0781e0f05b Better chain method and getChainedTweens 2022-08-30 18:44:09 +01:00
Richard Davey
3bfa25f410 Improved docs, new chain method, new getChainedTweens method 2022-08-30 18:43:54 +01:00
Richard Davey
7e69ffb279 add can now take an array of configs and moved chain related functions to the new chain method 2022-08-30 18:18:09 +01:00
Richard Davey
6332241d88 Testing chained tweens debug 2022-08-29 23:49:28 +01:00
Richard Davey
bbe25598f5 Update Tween.js 2022-08-26 18:55:06 +01:00
Richard Davey
262dc391d6 Remove useFrames 2022-08-24 21:53:19 +01:00
Richard Davey
508252c039 The property and feature Tween.useFrames has been removed and is no longer a valid Tween Config option. Tweens are now entirely ms/time based. 2022-08-24 21:51:57 +01:00
Richard Davey
7fea4a095b Testing new chain + delta system 2022-08-24 18:51:30 +01:00
Richard Davey
88d9c9c19c Allow arrays of chained tweens 2022-08-24 18:51:18 +01:00
Richard Davey
23130bfaf0 Added CHAINED const 2022-08-24 18:50:16 +01:00
Richard Davey
a236326dcc Fixed jsdocs and preparing for Tween.chain 2022-08-23 21:43:05 +01:00
Richard Davey
2d11103c34 Removed BaseTween and merged back into Tween
As we don't need to split it for Timeline any longer.
2022-08-23 21:27:15 +01:00
Richard Davey
77603c2b42 Removed all Timeline related code and events 2022-08-23 21:13:03 +01:00
Richard Davey
1f01eaa355 Update StaggerBuilder.js 2022-08-23 18:08:48 +01:00
Richard Davey
30ef13291c Dispatch the pause and resume events 2022-08-23 18:05:59 +01:00
Richard Davey
80d0f9197c Updated typedefs 2022-08-23 17:54:53 +01:00
Richard Davey
2a32d33860 No need to pass TweenData ref to funcs 2022-08-23 17:50:08 +01:00
Richard Davey
68f2f6cb61 Remove console.log 2022-08-23 17:49:55 +01:00
Richard Davey
73a96bc4c2 Removed unsupported interpolation functions 2022-08-23 17:49:47 +01:00
Richard Davey
86f123fc8f Now supports interpolation tweens 2022-08-23 17:38:19 +01:00
Richard Davey
b5f219097c Added interpolationData parameter 2022-08-23 17:37:59 +01:00
Richard Davey
4c23a88e03 We can simplify this a lot and only call funcs during TweenData creation 2022-08-23 17:37:40 +01:00
Richard Davey
6f9f20f0b3 Add interpolation to reserved props list 2022-08-23 17:37:13 +01:00
Richard Davey
e697176fd8 Add interpolation default 2022-08-23 17:37:01 +01:00
Richard Davey
0eb0171dfb Specify return type 2022-08-23 17:36:52 +01:00
Richard Davey
b3b4d596a9 Return interpolation getStart and getEnd 2022-08-23 17:36:42 +01:00
Richard Davey
4f34cb6b42 Can return null. 2022-08-23 17:36:14 +01:00
Richard Davey
e845dc207f Added support for value interpolation 2022-08-23 15:21:32 +01:00
Richard Davey
bec14fbac1 Now supports tween interpolation 2022-08-23 15:21:15 +01:00
Richard Davey
17d9c4b362 Added TweenData.interpolation 2022-08-23 15:21:01 +01:00
Richard Davey
98cba07913 Now passes the TweenData to the start and end callbacks 2022-08-23 15:20:50 +01:00
Richard Davey
16c1c4352b Added GetInterpolationFunction 2022-08-23 15:20:28 +01:00
Richard Davey
1b4053a8e7 Removed array check and tidied up direction code 2022-08-23 15:20:14 +01:00
Richard Davey
7cd749e776 Working through getting timelines running again 2022-08-23 00:04:24 +01:00
Richard Davey
285fc14b87 Update jsdocs and persist checks 2022-08-23 00:04:15 +01:00
Richard Davey
6165549c6f Remove console 2022-08-23 00:03:59 +01:00
Richard Davey
f8933f151e Ready for TIMELINE_ACTIVE 2022-08-23 00:03:52 +01:00
Richard Davey
45f1bef45e Make sure Tween.restart fires the Start event again 2022-08-22 21:36:44 +01:00
Richard Davey
94d0b8d797 Add onPause and onResume callbacks 2022-08-22 21:36:31 +01:00
Richard Davey
63fbff291a Added persist to the config defaults 2022-08-22 19:45:19 +01:00
Richard Davey
fced56b261 Tween.restart should unpause the tween 2022-08-22 19:42:23 +01:00
Richard Davey
70c0aa2091 Reworked the 'restart' flow 2022-08-22 17:55:15 +01:00
Richard Davey
cbe9aa5c17 Fixed missing const 2022-08-22 17:55:03 +01:00
Richard Davey
2065f29f10 Added new persist feature 2022-08-22 17:54:52 +01:00
Richard Davey
36f60d9bb7 Added FINISHED state 2022-08-22 17:54:38 +01:00
Richard Davey
337d5b3228 Tween.stop has had the resetTo parameter removed from it. Calling stop on a Tween will now prepare the tween for immediate destructions. If you only wish to pause the tween, see Tween.pause instead. 2022-08-22 16:43:24 +01:00
Richard Davey
a13b79f86e Added getTotal test 2022-08-19 18:49:08 +01:00
Richard Davey
c72ea9b7f8 Stop removing 2022-08-19 18:48:59 +01:00
Richard Davey
ce772272b0 Remove as part of destroy 2022-08-19 18:48:40 +01:00
Richard Davey
b6ae1f0061 Removed un-used property 2022-08-19 17:29:54 +01:00
Richard Davey
faec522e15 Special-case for scale 2022-08-19 17:29:44 +01:00
Richard Davey
7c26b7d461 Remove scale 2022-08-19 17:29:35 +01:00
Richard Davey
489130ce7b Added scale 2022-08-19 16:52:53 +01:00
Richard Davey
87ba0cdbb0 Use substring instead 2022-08-19 16:50:59 +01:00
Richard Davey
3f502758b3 Updated docs 2022-08-19 16:45:03 +01:00
Richard Davey
1cee183703 Fixed jsdocs 2022-08-19 16:44:41 +01:00
Richard Davey
5260fd90f2 Update Tween.js 2022-08-19 15:05:33 +01:00
Richard Davey
ec870f6a86 Corrected target param 2022-08-19 14:58:30 +01:00
Richard Davey
dfebdb9a7a The TweenManager calls init. 2022-08-19 14:42:20 +01:00
Richard Davey
30e92ac5b8 Create callback arguments dynamically 2022-08-19 14:36:35 +01:00
Richard Davey
7eec2cedd2 Pass by reference 2022-08-19 14:36:20 +01:00
Richard Davey
c2827e83fe Unified all of the tween callbacks 2022-08-19 14:35:24 +01:00
Richard Davey
328fb964e2 Fixed missing event params in jsdocs 2022-08-19 13:45:56 +01:00
Richard Davey
bf95d61c11 Tween.init called by the TweenBuilder 2022-08-18 18:45:25 +01:00
Richard Davey
a8b7e7c249 Added BaseTypes back 2022-08-18 18:45:02 +01:00
Richard Davey
e25b3249c3 TweenBuilder calls Tween.init directly 2022-08-18 18:44:53 +01:00
Richard Davey
c44b25ea8e Update TweenManager.js 2022-08-18 18:01:57 +01:00
Richard Davey
21ed9efca1 Improved jsdocs 2022-08-18 16:23:38 +01:00
Richard Davey
e39970eeff Create TweenCallbacks.js 2022-08-18 15:18:16 +01:00
Richard Davey
778521393b Using ACTIVE again. Also hardened destroyed tween handling. 2022-08-18 15:18:12 +01:00
Richard Davey
6e100270fd Swapping from PLAYING to ACTIVE 2022-08-18 15:17:57 +01:00
Richard Davey
d689908aa0 Added onStop and callback types 2022-08-18 15:17:47 +01:00
Richard Davey
da59d01823 Update Tween.js 2022-08-09 18:39:23 +01:00
Richard Davey
df978a4801 Fixed jsdocs for class 2022-08-09 18:39:17 +01:00
Richard Davey
790b4a4341 Added Tween pause and resume events 2022-08-09 18:39:09 +01:00
Richard Davey
41803facaa Fixed an issue where neither Tweens or Timelines would factor in the Tween Manager timeScale value unless they were using frame-based timing instead of delta timing. 2022-07-28 14:21:50 +01:00
Richard Davey
ef0ddec588 Update TweenBuilder.js 2022-07-27 17:52:28 +01:00
Richard Davey
62e6fc6946 Now extend from BaseTween 2022-07-27 16:54:57 +01:00
Richard Davey
87bb5dbea9 Create BaseTween.js 2022-07-27 16:54:57 +01:00
Richard Davey
7fb8fe2223 Calling Tween.setCallback() without specifying the params argument would cause an error invoking the callback params. This parameter is now fully optional. Fix #6047 2022-07-26 18:42:21 +01:00
Richard Davey
ceaafe7d6e Update Timeline.js 2022-07-26 18:36:08 +01:00
Richard Davey
fb4f95adf0 Now supports deeply-nested arrays of targets. Fix #6016 2022-07-26 18:36:02 +01:00
Richard Davey
f1bb335d35 Added ability to destroy a tween and tided up lots more 2022-07-26 12:50:27 +01:00
Richard Davey
246f60ba87 Update Tween.js 2022-07-26 02:41:11 +01:00
Richard Davey
efd97acdb6 Merge reset - check more isn't needed 2022-07-26 02:40:52 +01:00
Richard Davey
ff4d2184a4 Update TweenManager.js 2022-07-26 02:40:41 +01:00
Richard Davey
98dafdc39a Refactoring tween system 2022-07-26 02:14:21 +01:00
Richard Davey
fb765a47c4 Update TweenBuilder.js 2022-07-26 02:14:06 +01:00
Richard Davey
bb22e539b7 Still refactoring tweens. Almost there. 2022-07-25 19:22:29 +01:00
Richard Davey
15d5874cde Carrying on refactoring the tween system to be immediate 2022-07-20 18:45:17 +01:00
Richard Davey
f617e73498 Testing refactoring the Tween system to use a single list 2022-07-18 18:49:58 +01:00
Richard Davey
59fbcc5ca3 Updated copyright year 2022-02-28 14:29:51 +00:00
Adam Templeton
1ead3ecd7d tween reset fix 2022-01-28 12:18:22 -06:00
Richard Davey
f7d81c4bd1 The default Tween._pausedState has changed from INIT to PENDING_ADD. This fixes a bug where if you called Tween.play immediately after creating it, it would force the tween to freeze. Fix #5454 2021-10-29 18:49:49 +01:00
Richard Davey
5e2c00e69f Calling Tween.reset when a tween was in a state of PENDING_REMOVE would cause it to fail to restart. It now restarts fully. Fix #4793 2021-10-29 18:26:13 +01:00
Richard Davey
5a1be5d07d TweenManager.reset is a new method that will take a tween, remove it from all internal arrays, then seek it back to its start and set it as being active. 2021-10-29 18:25:14 +01:00
Richard Davey
9db0b98228
Merge pull request #5757 from samme/fix/tween-setCallback
Correct use of Tween#setCallback() and Timeline#setCallback()
2021-09-20 11:31:09 +01:00
samme
0882e03fce Remove obsolete comment 2021-06-27 11:53:30 -07:00
samme
9e6dc57063 Correct use of tween/timeline setCallback()
Fixes #5753
2021-06-26 17:30:24 -07:00
Richard Davey
9066f756f9 Made it clear a Tween will not update _ properties. Fix #5747 2021-06-18 18:06:58 +01:00
Richard Davey
417f7684c3 More integer to number changes 2020-11-23 10:32:00 +00:00
Richard Davey
3f511a73cd Replace integer[] with number[] 2020-11-23 10:23:10 +00:00
Richard Davey
02c34cd64e Replace integer with number 2020-11-23 10:22:13 +00:00
Richard Davey
cf17dbe7e9 Previously, the easeParams array within a Tweens props object, or a multi-object tween, were ignored and it was only used if set on the root Tween object. It will now work correctly set at any depth. Fix #4292 2020-09-02 22:27:40 +01:00
Richard Davey
ab83fd7e38 Tween.seek will no longer issue a console warning for 'Tween.seek duration too long', it's now up to you to check on the performance of tween seeking. 2020-08-26 13:50:54 +01:00
Richard Davey
8c55fc7ee2 TweenManager.getTweensOf has a new parameter includePending. If set, it will also check the pending tweens for the given targets and return those in the results as well. Fix #5260 2020-08-20 10:22:35 +01:00
Richard Davey
7d1ca6815f Lint fixes 2020-07-13 14:16:52 +01:00
Richard Davey
1e0a25705e
Merge pull request #5186 from samme/feature/empty-timeline-config
Configure timeline without tweens
2020-07-13 12:45:08 +01:00
Richard Davey
7b7d897858
Merge pull request #5185 from samme/feature/tween-stop-event
Add tween 'stop' event and 'onStop' callback
2020-07-13 12:44:26 +01:00
samme
3368d1e54a Docs: punctuation 2020-06-06 12:15:38 -07:00
samme
3c62cb3eb5 Configure timeline without tweens 2020-06-06 11:44:40 -07:00
samme
51779a80aa Docs: tween onStop, etc. 2020-06-06 11:21:23 -07:00
samme
de4943a407 Add tween 'stop' event and 'onStop' callback 2020-06-06 11:21:23 -07:00
samme
e091aecead Docs: Phaser.Tweens.Tween#callbacks
Tween#stop() does not invoke onComplete
2020-06-01 09:38:34 -07:00
J.C
d8dc7fb4d7 TS def improvements 2020-03-02 20:14:25 +08:00
Richard Davey
392c52fa8b Update GetEaseFunction.js 2020-01-20 23:34:40 +00:00
Richard Davey
ff65e69cd1 Changed copyright date to 2020 2020-01-15 12:07:09 +00:00
Richard Davey
47ae9eaadc Exposed StaggerBuilder and added missing param to JSDocs 2020-01-13 22:35:40 +00:00
Richard Davey
e861ecf5a0 Emit the current and previous values 2020-01-07 23:57:08 +00:00
Richard Davey
1a69cd9e0f TweenData now stores its previous ease value. 2020-01-07 23:56:39 +00:00
Richard Davey
736fd6dfb9 Added TWEEN_UPDATE current and previous values 2020-01-07 23:56:15 +00:00
samme
482757c1a8 Fix bad parameter in Timeline callbacks and events
Fixes #4810
2019-11-19 15:37:25 -08:00