Commit graph

741 commits

Author SHA1 Message Date
photonstorm
f5d97f488b Call toString to avoid crashes if numbers are passed in. 2017-05-24 05:59:14 +01:00
photonstorm
7ee785b395 Renamed yoyoDelay back to 'hold' and implemented it being used both to delay a yoyo, and also to hold in the end position before starting a repeat. 2017-05-24 05:24:20 +01:00
photonstorm
17f65a5baf Fixed Tween.loop functionality. Tween now resets properly as well. 2017-05-24 05:02:14 +01:00
photonstorm
bd4161e43b You can now specify additional ease function values via the easeParams property. 2017-05-24 04:38:17 +01:00
photonstorm
11f15fb424 Tidying up un-used functions. 2017-05-24 03:34:45 +01:00
photonstorm
568eb5e4b3 Large refactor after some performance profiling. Works a lot better as a single array. No deep iteration any more, and cleaner data structure. 2017-05-24 03:29:31 +01:00
photonstorm
b05e47c477 Removed TweenData array and refactored the Build functions to avoid object cloning. 2017-05-24 01:27:04 +01:00
photonstorm
adc8b496b9 Refactored so that only a single TweenData will exist per property. 2017-05-23 19:04:15 +01:00
photonstorm
4a71309335 Added missing properties and methods to Quad class.
Updated to use new Mesh Color and Alpha arrays.
2017-05-23 13:29:40 +01:00
Felipe Alfonso
73ff899ce2 vertex color and alpha properties 2017-05-22 15:29:27 -04:00
Felipe Alfonso
30ea09f0b0 Fixed issue with setting wrapping mode on textures 2017-05-22 10:44:05 -04:00
Felipe Alfonso
d216793595 Texture Filtering and Repeat property 2017-05-19 21:16:45 -04:00
Richard Davey
129a045d69 Start of Quad class. 2017-05-19 20:07:30 +01:00
Richard Davey
d1468bb550 Preparing for totalDuration work. 2017-05-19 02:41:31 +01:00
Felipe Alfonso
22bc09dfd2 Fixed index offset 2017-05-18 16:52:45 -04:00
Felipe Alfonso
7b0370c57b Added index offset to allow mesh batching 2017-05-18 16:44:00 -04:00
Felipe Alfonso
49bcb5829b Added mesh rendering detection 2017-05-18 16:23:59 -04:00
Felipe Alfonso
399e12b2ca Indexed Mesh Rendering 2017-05-18 15:57:05 -04:00
Richard Davey
8fbf20e2f3 Added todo. 2017-05-18 06:43:03 +01:00
Richard Davey
9e018d956c Updated require path. 2017-05-18 06:40:51 +01:00
Richard Davey
8358a89407 Huge refactoring to get a single Tween instance responsible for all properties and all targets. Much less iteration and object creation now. 2017-05-18 06:39:47 +01:00
Richard Davey
f049f2c133 Start of Timeline class. 2017-05-18 04:02:07 +01:00
Richard Davey
1b73562ba7 Fixed Tween.start property clash.
Added stagger and startDelay properties.
2017-05-18 03:33:18 +01:00
Richard Davey
5ba2a6ca64 Removed logs. 2017-05-18 02:33:15 +01:00
Richard Davey
90132a7a6f Fixed TweenData.prev link. 2017-05-18 02:24:31 +01:00
Richard Davey
8d7629a4ab TweenData now caches the start/end values to avoid re-calc on replay. 2017-05-18 02:21:40 +01:00
Richard Davey
320594294f Fixed hold / delay / repeat issues. 2017-05-18 01:46:25 +01:00
Richard Davey
1a1e358598 Merged Forward and Backward into main Update function. 2017-05-18 00:44:44 +01:00
Richard Davey
7e93def699 Moved functions into components and reworked the Update loop to make it cleaner and faster. 2017-05-18 00:24:25 +01:00
Richard Davey
f84980ce54 Lots of Tween updates and fixes for loop and yoyo handling. 2017-05-17 19:13:49 +01:00
Felipe Alfonso
198fc359f7 Mesh WebGL Renderer 2017-05-17 12:12:17 -04:00
Felipe Alfonso
d71d7d50bc Fixed a couple of bugs on Graphics renderer and added should Flush to all webgl renderers 2017-05-17 11:09:06 -04:00
Richard Davey
0d72f092ae Moved ValueOp into TweenData. Allowed for chained TweenData array. 2017-05-17 15:40:36 +01:00
Richard Davey
ce36fdf264 Split the Tween class out into TweenData and Tween, and moved the functions into components. 2017-05-17 14:39:49 +01:00
Richard Davey
57fa4108c7 Zombie file. Kill it, kill it with fire. 2017-05-17 13:27:22 +01:00
Richard Davey
bbfbf123e4 Swapped to using += -= *= and /= instead (retains consistency with gsap/anime) 2017-05-17 13:19:42 +01:00
Richard Davey
26591ce784 Added completeDelay and elasticity (not yet hooked up) 2017-05-17 05:52:01 +01:00
Richard Davey
e2c08dd08e Added Tween.repeatDelay. 2017-05-17 05:00:24 +01:00
Richard Davey
9f651da573 Repeat and Yoyo combo work. 2017-05-17 04:54:40 +01:00
Richard Davey
6b66b855f5 Updated Tween class so it now supports delay, repeat and yoyo. 2017-05-17 04:38:00 +01:00
Richard Davey
40db9d3dab Added SetAlpha function for method chaining. 2017-05-17 04:37:42 +01:00
Richard Davey
b77c34562a TweenManager.begin is now called. 2017-05-17 04:37:30 +01:00
Richard Davey
47d4dc4cf2 Added new reserved words. 2017-05-17 04:37:20 +01:00
Richard Davey
3ef5a4530e New Tween class created. 2017-05-17 02:47:14 +01:00
Richard Davey
bef2602c03 Updated to use TweenBuilder and modified update loop. 2017-05-17 02:47:14 +01:00
Richard Davey
fd09dba200 TweenBuilder will create Tween objects based on given config, and populate TweenManager with them. 2017-05-17 02:47:14 +01:00
Richard Davey
49770eff46 Moved Tween reserved words to own file. 2017-05-17 02:47:14 +01:00
Richard Davey
4baf3264dd Fixed Linear ease map entry. 2017-05-17 02:47:14 +01:00
Richard Davey
c23c5234c5 Optimized for number first quick escape. 2017-05-17 02:47:14 +01:00
Felipe Alfonso
8f422503a2 Mesh GameObject base 2017-05-16 19:07:52 -04:00
Felipe Alfonso
7477eb5cf9 Snapshot implementation 2017-05-16 15:15:01 -04:00
Richard Davey
3c83850cdf Moved Hermite into new Phaser.Path namespace and folder. 2017-05-16 13:13:25 +01:00
Richard Davey
2282b9bc1e Split active and pending tweens. Updated tween creation flow. 2017-05-16 00:37:13 +01:00
photonstorm
d8724edde6 Fixed Array cloning.
New build process for Tween.
2017-05-11 17:19:18 +01:00
Felipe Alfonso
70802cedcb upload to GPU graphics 2017-05-10 23:52:32 -03:00
Felipe Alfonso
f84f4e626c Graphics canvas texture generation 2017-05-10 21:24:57 -03:00
Felipe Alfonso
8be3ee40c9 Graphics Emtpy Texture generation 2017-05-10 20:36:11 -03:00
Richard Davey
53a0dbd8b2 Refactoring. 2017-05-10 17:10:21 +01:00
Richard Davey
08b8d6815c Lots of Tween updates, fleshing out concepts and ideas. 2017-05-10 04:30:00 +01:00
Richard Davey
418af7351e Fixed EaseMap. 2017-05-10 04:29:42 +01:00
Richard Davey
b1b03c118d Added Object.Merge and Object.MergeRight. 2017-05-10 03:23:32 +01:00
Richard Davey
bd462e29bd Working through setting the Tween values. 2017-05-10 02:25:46 +01:00
Richard Davey
050948aa28 Added Shallow Object clone. 2017-05-10 02:25:32 +01:00
Richard Davey
345a77a2fe Lots of comments and examples. 2017-05-10 00:43:28 +01:00
Richard Davey
422468ec29 Reminder docs and jshint fixes. 2017-05-10 00:43:12 +01:00
Richard Davey
1fd4eb13a1 Added a string-lookup EaseMap. 2017-05-10 00:42:59 +01:00
Richard Davey
68202fd6e7 Added properties and methods to complete. 2017-05-09 20:36:29 +01:00
Richard Davey
b769fe3cb1 Create base TweenManager and added to State Systems. 2017-05-09 20:24:39 +01:00
Richard Davey
5950bc84a2 Added some comments. 2017-05-09 15:39:59 +01:00
Richard Davey
2a19a02d0b Added window focus and blur handler to catch raf throttling outside of page visibility changes. 2017-05-09 15:39:30 +01:00
Richard Davey
253dc76081 Added delta history cool down period to avoid spikes flooding the values. 2017-05-09 10:42:43 +01:00
Richard Davey
21882a24ec Added Page Visibility handler and hooked into TimeStep. 2017-05-09 01:24:46 +01:00
Felipe Alfonso
946266d715 Render to texture 2017-05-08 18:03:18 -03:00
Felipe Alfonso
6511b4b0d5 Internal Transform Stack for Graphics 2017-05-08 17:13:48 -03:00
photonstorm
e9eefa6314 TS updates. 2017-05-04 17:32:05 +01:00
Felipe Alfonso
d3b1081da7 Added destroy to tileSprite 2017-05-03 21:28:49 -03:00
Felipe Alfonso
ee4e0bf8e9 Merge branch 'master' of https://github.com/photonstorm/phaser 2017-05-03 21:28:18 -03:00
Felipe Alfonso
da9a6de007 Canvas TileSprite 2017-05-03 21:14:14 -03:00
Richard Davey
54f95a3cff Removed old timesteps and renamed Variable to TimeStep. 2017-05-04 01:08:50 +01:00
photonstorm
9ee41603a2 Exposed game loop settings via game config object. 2017-05-03 17:07:15 +01:00
Richard Davey
9eb1676482 Seed history properly and dt clamp. 2017-05-03 02:21:32 +01:00
Richard Davey
e5b82eb9b9 Fixed delta spike handling. 2017-05-03 01:34:29 +01:00
Richard Davey
02a06bc7e3 Moved the Animation functions into the components folder where they are a better fit. 2017-05-03 00:54:09 +01:00
Richard Davey
08a5b4969a Split the Animation functions up to make them more manageable. Fixed bug in AddFrameAt. 2017-05-03 00:31:36 +01:00
Richard Davey
4ad87957bf Added Animation.removeFrame, removeFrameAt and getFrameAt. 2017-05-02 23:58:15 +01:00
Richard Davey
ed5eda4bdc Optmized the addFrameAt method. 2017-05-02 22:07:08 +01:00
Felipe Alfonso
12d3771c0a Tile Sprite rendering on WebGL 2017-05-02 17:57:21 -03:00
Richard Davey
d787bfbf78 Added Animation.addFrame and addFrameAt including sequence updating. 2017-05-02 19:49:03 +01:00
Richard Davey
1bfec64f2e Animation Manager now has Pause All and Resume All events and handlers, and all child Animations listen for and respect it. 2017-05-02 16:49:48 +01:00
Richard Davey
2c9be48a73 Add Animation Event + handler. 2017-05-02 16:18:58 +01:00
Richard Davey
47c4df66e6 Added Remove Animation event and handler. 2017-05-02 16:02:49 +01:00
Richard Davey
a8bc0c0c27 Merge pull request #3013 from rblopes/upgrade-tooling
[Phaser 3] Upgrade of development dependencies
2017-05-01 22:51:56 +01:00
Rafael Barbosa Lopes
1b77dc4fa4 Upgraded development dependencies, some clean up.
This commit brings the following updates:

- Removal of the following redundant or unused packages:

  - `json-loader`: Webpack 2 can handle JSON files by default;
  - `copy-webpack-plugin`: unused;
  - `webpack-dev-server`: unused.

- Upgrade of the following packages to their latest versions:

  - `fs-extra`;
  - `webpack`: upgraded to the latest stable version;
  - `webpack-shell-plugin`.

- Addition of the following packages:

  - `uuid`, in replacement of the deprecated `node-uuid`, with no
    changes to the public API.

  - `eslint`, with ESLint linting utility.

- Addition of two runnable scripts to help development tasks:

  - `build`: An alias for running `webpack`.
  - `eslint`: Alias for running ESLint using the provided configuration
    in the project.

- Fix the package entry point, so package consumers will be capable to use
  library in a future release.

- Update `.npmignore`, so npm will include only the relevant package
  files.

- Some clean-up and a few code fixes.
2017-04-30 21:52:22 -03:00
Richard Davey
9663a4022e Start of shuffle action. 2017-05-01 01:44:29 +01:00
Richard Davey
9d1640063b Added tabIndex property. 2017-05-01 01:27:35 +01:00
Felipe Alfonso
e6fefdab24 Using canvas buffer for generating tile texture 2017-04-28 15:10:32 -03:00
photonstorm
456809e8dd GetFrames can now handle you setting just a string for the frames array, and it'll get all the frames from the texture for it. 2017-04-28 04:31:08 +01:00
photonstorm
3647e28427 Added Texture.getFrameNames which is handy for things like atlas imports or sprite sheets. 2017-04-28 04:30:32 +01:00
photonstorm
17d6667c63 Swapped to perf.now. 2017-04-28 03:15:08 +01:00
photonstorm
54442c59d4 Forcing Variable Timer for further testing. 2017-04-28 03:15:02 +01:00
photonstorm
119ae11736 Using perf.now and tidying it all up. 2017-04-28 03:14:30 +01:00
photonstorm
4d142ad026 Updated Animation so it now uses the delta values, rather than the time. Smoother and no longer suffers duration peak errors. 2017-04-28 03:14:09 +01:00
photonstorm
1eda6229be Moved the raf after the callback. 2017-04-28 03:13:32 +01:00
photonstorm
960acce62c eslint fixes 2017-04-28 03:13:22 +01:00
photonstorm
ba2e5ffc26 Added Format String util. 2017-04-28 01:52:46 +01:00
photonstorm
a232e6c97d Created VariableTimeStep loop and integrated it into the Game and State Systems.
Added GetSpeed Math util.
2017-04-27 17:03:19 +01:00
Richard Davey
07f72f489a Added TickerLoop and made it optional via config. 2017-04-27 03:11:56 +01:00
photonstorm
d2fa3779f4 Working on the new TickerLoop. 2017-04-26 17:13:56 +01:00
photonstorm
8264351f75 Renamed GetObjectValue to GetValue and replaced through-out entire codebase. More consistent now with GetAdvancedValue, etc. 2017-04-26 16:03:22 +01:00
photonstorm
427018d291 You can now provide the TextMetrics as part of the config object, to avoid the expensive canvas scanning needed.
Text.getTextMetrics and TextStyle.getTextMetrics added to faciliate this. Plus added to toJSON.
2017-04-26 15:54:23 +01:00
photonstorm
e2576fe512 Text.padding supported and working. 2017-04-26 15:34:15 +01:00
Richard Davey
3f6c74c1f7 More work on Text Metrics. 2017-04-26 03:55:42 +01:00
Felipe Alfonso
4073db3551 TileSprite base and renderer 2017-04-25 19:09:13 -03:00
Richard Davey
0df585f7d5 Testing various text measuring options. 2017-04-25 19:46:13 +01:00
Richard Davey
a4dc2d28aa Added TextStyle.toJSON and merged the output with Text.toJSON. 2017-04-25 18:24:37 +01:00
Richard Davey
ad0ff4d64b Added BuildFromConfig for Text object.
Updated TextStyle to use advanced object getter.
2017-04-25 18:07:23 +01:00
Richard Davey
c0254bbbf0 Added setScaleMode and setBlendMode functions. 2017-04-21 03:12:25 +01:00
Felipe Alfonso
d4e4509e22 Render off-screen and on-screen for EffectLayer 2017-04-20 21:30:19 -03:00
Felipe Alfonso
3c476ae26b Fixed EffectRenderer 2017-04-20 21:25:31 -03:00
Richard Davey
b3fb6d64f2 Added ability to create EffectLayer via config object. 2017-04-21 00:54:57 +01:00
Felipe Alfonso
8df65e7270 changed renderTexture name 2017-04-20 20:50:47 -03:00
Felipe Alfonso
1742ec0f12 RenderPass Update 2017-04-20 15:06:57 -03:00
Felipe Alfonso
18e3b9379d Render Pass rendering on the screen 2017-04-20 13:18:14 -03:00
Richard Davey
e631c2031b Merge pull request #2990 from johnfn/patch-1
Fix typo in Color
2017-04-20 12:47:08 +01:00
Felipe Alfonso
fd4d25a3b6 RenderPass update 2017-04-18 19:15:10 -03:00
photonstorm
6aa2fb009b Renamed Texture Parsers to follow conventions elsewhere in the library. Started on SS from Atlas. 2017-04-18 15:31:30 +01:00
Felipe Alfonso
88c599cb28 Fixed render target issue with BitmapText 2017-04-13 12:55:25 -03:00
Felipe Alfonso
bcbec418b1 Fixed Graphics and Blitter issue with renderTarget 2017-04-13 12:45:01 -03:00
Richard Davey
81c6124a4d Added more toJSON GameObject functions. 2017-04-13 00:35:27 +01:00
Richard Davey
5eee8225bf Added ToJSON Game Object component. 2017-04-13 00:05:21 +01:00
Richard Davey
929d6fc8ef Enforced GameObjects to specify their type (a string based const) 2017-04-13 00:05:12 +01:00
Richard Davey
612db78818 Added AnimationJSON Loader File type.
Fixed ToJSON component.
2017-04-12 15:27:05 +01:00
Richard Davey
fa4192e1f0 Moved Animation Manager functions into its own components folder for clarity.
Added FromJSON.
Updated Create so you only pass in a config object now, not a key AND config.
2017-04-12 14:39:11 +01:00
Richard Davey
ee5e4f5195 Tidied up the Animation folder.
Animation Manager now in its own folder, with all methods split out to their own files.
Animation Components moved to components folder.
AnimationFrame renamed to Frame and moved inside the frame folder, as it's frame specific.
2017-04-12 13:53:55 +01:00
Richard Davey
da3496a71d Added toJSON support to the Animation Manager and Animations. 2017-04-12 13:14:42 +01:00
photonstorm
01a542303a Config based SS rip. 2017-04-11 17:22:22 +01:00
photonstorm
4b4ef1dcfd eslint fix. 2017-04-11 17:21:50 +01:00
photonstorm
93b4d33a78 Suffix support in multiatlas call. 2017-04-11 17:21:42 +01:00
Felipe Alfonso
581fdb50ee RenderTarget added to renderable game objects 2017-04-11 10:15:38 -03:00
Richard Davey
5cdf2f0e96 Fixed animation values being overridden on load. 2017-04-11 03:28:39 +01:00
Richard Davey
1abf6e7b1e Sprite now uses BuildAnimation function. 2017-04-11 03:13:51 +01:00
Richard Davey
e96dabf0cd Fixed paths 2017-04-11 03:13:41 +01:00
Richard Davey
dabfbc0ae1 Added animation build function. 2017-04-11 03:13:30 +01:00
Richard Davey
fcc01d28aa eslint fixes. 2017-04-11 02:49:13 +01:00
Richard Davey
2c4a697665 Expose the GameObjectCreator. 2017-04-11 02:49:13 +01:00
Richard Davey
05920eae8e An advanced object property extraction function. Allows you to defined property callbacks, arrays to pick from, random ints and random floats. 2017-04-11 02:49:13 +01:00
Richard Davey
9ee3e759b5 Gets a value from an object with a min / max clamp. 2017-04-11 02:49:13 +01:00
Richard Davey
c8d22fe881 Added BuildGameObject and related functions. Allows you to create a game object via a configuration object, rather than having to call all the functions directly. Applied to Images and Sprites so far. Accessed via this.make.sprite or this.make.image. 2017-04-11 02:49:13 +01:00
Felipe Alfonso
d08e23f4f4 Reset renderTarget to null when rendering camera effects 2017-04-10 16:15:18 -03:00
Felipe Alfonso
48782ec751 calling GameObject constructor on EffectLayer 2017-04-10 13:12:54 -03:00