Commit graph

415 commits

Author SHA1 Message Date
Rex
784c2bd1ae Allow Shape game object to be a mask 2021-11-05 10:57:17 +08:00
Richard Davey
4b63bd2500 Update Pipeline.js 2021-11-02 17:05:16 +00:00
samme
ebb27e8ae4 Fix PathFollower end point when given to 2021-10-30 11:13:50 -07:00
Richard Davey
dddf601acb Added onFXCopy 2021-10-15 18:38:57 +01:00
Richard Davey
163978452e Added onFX 2021-10-15 00:58:40 +01:00
Richard Davey
6eebd6c1cf GameObjects.Components.FX is a new component that provides access to FX specific propertis and methods. The Image and Sprite Game Objects have this component by default. 2021-10-12 21:47:24 +01:00
Pierre Palatin
93543d650a
Fix Phaser.GameObjects.Components.Pipeline#postPipelines doc
* Updates the Documentation

Describe the changes below:
The `s` was missing in the doc for `postPipelines`, leading to wrong Typescript typing and misleading documentation.
2021-04-18 17:49:32 +02:00
Richard Davey
15908ce271 getPostPipeline will now return an array of them all if there is more than one instance 2021-01-11 17:17:00 +00:00
Richard Davey
c124d4c0a6
Merge pull request #5467 from rexrainbow/improve-postfx-pipeline
Remove a type of Post Pipeline instances, not only a single instance
2021-01-04 16:14:48 +00:00
Richard Davey
1b0649ed34 Fixed issue causing Cannot read property 'pipelines' of null to be thrown if using 3.50 with the HEADLESS renderer. Fix #5468 2021-01-04 11:22:00 +00:00
Rex
60c42016b6 Remove a type of Post Pipeline instances, not only a single instance 2020-12-25 17:05:50 +08:00
Richard Davey
4fb03907ba Stricter removal 2020-12-14 13:50:44 +00:00
Richard Davey
e0ae7ef14e Update TransformMatrix.js 2020-12-04 12:00:31 +00:00
Richard Davey
9f8f76c690 Removed unused property 2020-12-02 12:23:40 +00:00
Richard Davey
ce6a81c97d Updated JSDocs 2020-12-01 17:23:53 +00:00
Richard Davey
35829bcf0d Added removePostPipeline. Fix #5419 2020-11-30 10:07:41 +00:00
Rex
cdfee008ec Typo 2020-11-29 20:29:38 +08:00
Richard Davey
e96cbde8d6 Added new displayList property and Layer documentation 2020-11-27 11:13:59 +00:00
Richard Davey
e5f9066072 GameObjects.Components.Depth.depthList is a new property that all Game Objects that have the Depth Component now have. It contains a reference to the List responsible for managing the depth sorting of the Game Object. This is typically the Scene Display List, but can also be a Layer. It allows the Depth component to queue a depth sort directly on the list it belongs to now, rather than just the Scene. 2020-11-26 16:20:54 +00:00
Richard Davey
417f7684c3 More integer to number changes 2020-11-23 10:32:00 +00:00
Richard Davey
02c34cd64e Replace integer with number 2020-11-23 10:22:13 +00:00
Richard Davey
30c2eb5d0e Ability to link Post Pipeline to owner object 2020-11-20 17:29:42 +00:00
Richard Davey
b64f2cc4d0 Added ability to skip post pipeline per object 2020-11-20 15:18:19 +00:00
Richard Davey
e36a086e5d Updated data types 2020-11-17 16:50:36 +00:00
Richard Davey
00c7b1d79e Destroy on reset! 2020-11-17 16:34:52 +00:00
Richard Davey
782a841eeb Added getPostPipeline method 2020-11-17 16:19:40 +00:00
Richard Davey
080677f28c Set on creation, not in the component 2020-11-17 14:08:09 +00:00
Richard Davey
39b381d6cc Clearer responsibility via method parameters 2020-11-09 11:50:41 +00:00
Richard Davey
06c90137c8 Empty parameter means reset pipeline 2020-11-06 15:35:18 +00:00
Richard Davey
a00e169400 Added all the handlers needed for the post pipeline feature 2020-11-04 18:00:50 +00:00
Richard Davey
4b3cc7145e Testing new pipelineData object. 2020-10-27 18:06:53 +00:00
Richard Davey
ba9b837739 You can now pass a pipeline instance to the GameObject.setPipeline method, as well as a string. 2020-10-27 14:05:37 +00:00
Richard Davey
e004fa47fc Creating a Bitmap Mask from a texture atlas that was then used to mask another Game Object also using that same texture atlas would throw the error GL_INVALID_OPERATION : glDrawArrays: Source and destination textures of the draw are the same.. It now renders as expected. Fix #4675 2020-09-23 18:10:12 +01:00
Richard Davey
6d09f1fe40 Refactored Tint component
* `Tint.tintTopLeft` is now a normal property in RGB order, not a setter, and no longer passes through the `GetColorFromValue` function. This directly replaces the private property `_tintTL` which has now been removed.
* `Tint.tintTopRight` is now a normal property in RGB order, not a setter, and no longer passes through the `GetColorFromValue` function. This directly replaces the private property `_tintTR` which has now been removed.
* `Tint.tintBottomLeft` is now a normal property in RGB order, not a setter, and no longer passes through the `GetColorFromValue` function. This directly replaces the private property `_tintBL` which has now been removed.
* `Tint.tintBottomRight` is now a normal property in RGB order, not a setter, and no longer passes through the `GetColorFromValue` function. This directly replaces the private property `_tintBR` which has now been removed.
* The property `Tint._isTinted` has been removed as it's no longer required.
2020-09-14 10:59:32 +01:00
samme
ad0c5ad5db Docs: since 2020-09-11 10:01:43 -07:00
samme
f05129f30c Add Transform#copyPosition
Needs JSDoc types for Vector3Like, Vector4Like
2020-09-11 09:44:31 -07:00
Richard Davey
e450bf2f1f Swap to using constants for pipeline names 2020-09-09 13:05:18 +01:00
Richard Davey
cdd612a273 AnimationState has moved namespace to keep things logically together 2020-09-08 09:31:59 +01:00
Richard Davey
98dc69ed23 Added in support for blending animations with addMix, getMix and removeMix. 2020-09-07 15:33:57 +01:00
Richard Davey
438fe3c0d1 No Update unless playing 2020-09-07 14:50:33 +01:00
Richard Davey
94298efc4d Because do/while loops are quite dangerous 2020-09-07 11:54:08 +01:00
Richard Davey
ec06e79b26 Catch stops 2020-09-07 11:52:37 +01:00
Richard Davey
2b374c7e14 AnimationState.skipMissedFrames is now used when playing an animation, allowing you to create animations that run at frame rates far exceeding the refresh rate, or that will update to the correct frame should the game lag. Close #4232 2020-09-07 11:32:55 +01:00
Richard Davey
24beb01963 Update AnimationState.js 2020-09-07 10:26:16 +01:00
Richard Davey
ad4f0ce0c4 Updated docs 2020-09-05 12:01:11 +01:00
Richard Davey
2cabbbd504 Renamed to AnimationState for clarity. 2020-09-05 11:45:00 +01:00
Richard Davey
b0872c188a The Component.Animation.updateFrame method has now been removed. Everything is handled by setCurrentFrame instead, which removes one extra step out of the update process. 2020-09-05 11:12:52 +01:00
Richard Davey
89332aad5f You can now create Animations directly on Sprite
* `Component.Animation.create` is a new method that allows you to create animations directly on a Sprite. These are not global and never enter the Animation Manager, instead risiding within the Sprite itself. This allows you to use the same keys across both local and global animations and set-up Sprite specific local animations.
* All playback methods: `play`, `playReverse`, `playAfterDelay` and `playAfterRepeat` will now check to see if the given animation key exists locally on the Sprite first. If it does, it's used, otherwise it then checks the global Animation Manager for the key instead.
* `Component.Animation.remove` is a new method that will remove a locally stored Animation instance from a Sprite.
* `Component.Animation.get` is a new method that will return a locally stored Animation instance from the Sprite.
* `Component.Animation.exists` is a new method that will check if a locally stored Animation exists on the Sprite.
* The internal `Component.Animation.remove` method has been renamed to `globalRemove`.
* `Component.Animation.textureManager` is a new property that references the global Texture Manager.
* `Component.Animation.anims` is a new property that contains locally created Animations in a Custom Map.
2020-09-04 14:03:57 +01:00
Richard Davey
cebd1d0101 Tidy up order 2020-09-04 11:52:19 +01:00
Richard Davey
858ae68841 Removed startFrame, chain can take arrays, delayedPlay rename, playAfterRepeat method and playAfterDelay method. 2020-09-04 11:49:16 +01:00
Richard Davey
1515357039 Lots of updates (see full description)
* `Component.Animation.timeScale` is a new public property that replaces the old private `_timeScale` property.
* `Component.Animation.delay` is a new public property that replaces the old private `_delay` property.
* `Component.Animation.repeat` is a new public property that replaces the old private `_repeat` property.
* `Component.Animation.repeatDelay` is a new public property that replaces the old private `_repeatDelay` property.
* `Component.Animation.yoyo` is a new public property that replaces the old private `_yoyo` property.
* `Component.Animation.inReverse` is a new public property that replaces the old private `_reverse` property.
* `Component.Animation.startAnimation` is a new public method that replaces the old private `_startAnimation` method.
* The `Component.Animation.getProgress` method has been fixed so it will return correctly if the animation is playing in reverse.
* The `Component.Animation.remove` method will now always be called when an animation is removed, not just once.
* The `Component.Animation.getRepeat` method has now been removed. You can get the value from the `repeat` property.
* The `Component.Animation.setRepeatDelay` method has now been removed. You can set the value using the `repeatDelay` config property, or changing it at run-time.
* `Component.Animation.complete` is a new method that handles the completion in animation playback.
* The `Component.Animation.setTimeScale` method has now been removed. You can set the value using the `timeScale` config property, or changing it at run-time.
* The `Component.Animation.getTimeScale` method has now been removed. You can read the value using the `timeScale` property.
* The `Component.Animation.getTotalFrames` method has been fixed and won't error if called when no animation is loaded.
* The `Component.Animation.setYoyo` method has now been removed. You can set the value using the `yoyo` config property, or changing it at run-time.
* The `Component.Animation.getYoyo` method has now been removed. You can read the value using the `yoyo` property.
2020-09-03 17:56:22 +01:00
Richard Davey
070fc70fe7 Lint fix 2020-09-02 18:07:21 +01:00
Richard Davey
e01f310d16 Added new properties, support for config playback and better delayed handling 2020-09-02 17:56:09 +01:00
Richard Davey
ace0ee7bab Fixed JSDoc event names 2020-09-02 12:34:58 +01:00
Richard Davey
18cdb5e618 The Animation.play and playReverse methods have a new optional parameter timeScale. This allows you to set the Animations time scale as you're actually playing it, rather than having to chain two calls together. Close #3963 2020-09-01 17:00:16 +01:00
Richard Davey
0dd07333af Updated to use MultiPipeline 2020-08-21 16:14:59 +01:00
Richard Davey
ec845ce015 Use GetColorFromValue 2020-08-03 10:49:05 +01:00
Richard Davey
2ef28cd0e4 Added getXRound and getYRound 2020-07-31 15:45:55 +01:00
Richard Davey
0385d108a8 Transform.getLocalPoint is a new method, available on all Game Objects, that takes an x / y pair and translates them into the local space of the Game Object, factoring in parent transforms and display origins. 2020-07-31 10:28:09 +01:00
Richard Davey
60baaf7708 Made sure array was cleared on destroy #5159 2020-07-13 12:51:36 +01:00
Richard Davey
818343f452 Fixed lint errors with PR #5159 2020-07-13 12:20:10 +01:00
Richard Davey
8951211c74
Merge pull request #5159 from tgroborsch/feature/multi-anims-chain
Allow chaining of multible animations
2020-07-13 12:19:03 +01:00
samme
5b9c34a32a Docs: Depth#depth and Depth#setDepth() 2020-05-25 09:20:42 -07:00
timo
a39199849e Allow chaining of multible animations
With this commit it is possible to chain more than one animation together for example:
this.mole.anims.play('digging',true).anims.chain('lifting').anims.chain('looking').anims.chain('lowering');

This commit introduces a property nextAnimsQueue. It holds all additional nextAnim-Keys in the order the chain()-method was called. It is handed over to the nextAnim-Property in the stop()-method.
2020-05-22 14:03:42 +02:00
timo
b00acb1838 Revert "Allow for chaining multible animations"
This reverts commit a5eacab048.
2020-05-22 13:45:21 +02:00
timo
a5eacab048 Allow for chaining multible animations
This allows for chaining multible animations by calling the chain(key) method multible times like this:
this.mole.anims.play('digging',true).anims.chain('lifting').anims.chain('looking').anims.chain('lowering');

This commit adds a new property nextAnimsQueue. This is an array that holds the chained keys in order of chain() requests.
This list will be worked on in the stop() function.
2020-05-22 13:30:37 +02:00
Richard Davey
70a4b9843e
Merge pull request #5038 from halilcakar/master
Update JSDocs for events
2020-04-27 11:51:40 +01:00
Richard Davey
4f80ec5748 Fix spelling mistake 2020-04-27 10:13:15 +01:00
samme
03c9c5fa33 Add PathFollower#pathDelta 2020-04-17 09:28:40 -07:00
samme
08aaf6231f Docs: fix my math in Transform#rotation 2020-03-27 21:18:49 -07:00
halilcakar
43f26ad31f Update JSDocs for events 2020-03-10 11:11:43 +03:00
samme
a84f7efb45 Docs: radian values for Transform#rotation 2020-02-27 10:15:44 -08:00
Richard Davey
e4c158c883
Merge pull request #4968 from JasonHK/jsdoc
Fixed `this` return types
2020-01-29 11:48:43 +00:00
Richard Davey
72f0395eec
Update TransformMatrix.js
Added missing braces.
2020-01-29 11:48:11 +00:00
Richard Davey
4de9d52769 Animation.setCurrentFrame will no longer try to call setOrigina or updateDisplayOrigin if the Game Object doesn't have the Origin component, preventing unknown function errors. 2020-01-27 14:48:50 +00:00
Jason Kwok
00818a9c61 Fixed this return types for Phaser.GameObjects.Components.TransformMatrix 2020-01-26 20:42:58 +08:00
Jason Kwok
c97a59011d Fixed this return types for Phaser.GameObjects.Components.PathFollower 2020-01-26 20:36:05 +08:00
samme
f4c011496c Fix PathFollower always at end of path 2020-01-16 14:44:26 -08:00
Richard Davey
ff65e69cd1 Changed copyright date to 2020 2020-01-15 12:07:09 +00:00
Richard Davey
90c8825ddb A PathFollower with a very short duration would often not end in the correct place, which is the very end of the Path, due to the tween handling the movement not running one final update when the tween was complete. It will now always end at the final point of the path, no matter how short the duration. Fix #4950 2020-01-15 10:42:56 +00:00
Richard Davey
a81c2ea132 When playing an Animation, if you were to play another, then pause it, then play another the internal _paused wouldn't get reset, preventing you from them pausing the animations from that point on. You can now play and pause animations at will. Fix #4835 2020-01-14 22:42:14 +00:00
Richard Davey
1928480913 Fixed JSDocs 2020-01-13 12:35:33 +00:00
Richard Davey
695cb7e4e2 AlphaSingle is a new Game Object Component that allows a Game Object to set its alpha values, but only as a single uniform value, not on a per-quad basis. 2019-12-28 17:27:01 +00:00
Chris Andrew
15ac5e736a #4903 Clarified z position documentation by linking to depth GO component. 2019-12-09 16:57:05 +00:00
Richard Davey
ed69ef6626 The GameObject.setTexture method can now accept either a string, in which case it looks for the texture in the Texture Manager, or a Texture instance, in which case that instance is set as the Game Object's texture. 2019-10-09 10:49:37 +01:00
Richard Davey
55c73d399b GameObject.ToJSON will no longer output the scaleMode in the json because it's not a valid Game Object property. 2019-10-01 14:41:58 +01:00
Richard Davey
fc5630cb72 The displayWidth and height should never be negative. 2019-08-30 19:35:52 +01:00
Richard Davey
717258e3f1 Docs update 2019-08-05 14:07:36 +01:00
Richard Davey
9f15b5a96b Removed scale abs, as deeper effects unknown 2019-08-03 11:08:22 +01:00
Richard Davey
cc85ec1d35 Fixed scaleX and scaleY 2019-08-02 17:28:46 +01:00
Richard Davey
c1767e404f Fixed scaleX and scaleY to handle negative scales and added rotation fix 2019-08-02 01:50:02 +01:00
Richard Davey
6e2d22e5cb jsdoc update 2019-08-01 17:44:20 +01:00
Richard Davey
718f75b797 TransformMatrix.rotation now returns the properly normalized rotation value 2019-07-26 14:20:38 +01:00
Richard Davey
14faabcadf Updated docs 2019-07-26 14:19:44 +01:00
Richard Davey
41d007fe67 Origin.updateDisplayOrigin no longer applies a Math.floor to the display origins, allowing you to have a 0.x origin for a Game Object that only has a width or height of 1. This fixes issues with things like 1x1 rectangles displaying incorrectly during rendering. 2019-07-15 16:30:08 +01:00
Richard Davey
deca3c95a3 Calling Animation.setRepeat() wouldn't reset the repeatCounter properly, causing Sprite bound animation instances to fail to change their repeat rate. Fix #4553 2019-07-03 15:33:13 +01:00
Richard Davey
83e54cfb16 The Animation component will no longer start an animation on a Sprite if the animation doesn't exist. Previously it would throw an error saying "Unable to read the property getFirstTick of null". 2019-07-03 12:02:56 +01:00
Richard Davey
5fa4264219 Added new Transform.getParentRotation method 2019-06-19 10:40:47 +01:00
Richard Davey
11d845a77e Specifically state this is a render flag only #4574 2019-06-06 09:52:19 +01:00
Richard Davey
8968b2179c Added GameObject.scale transform property for a unified scale setter 2019-06-05 15:30:23 +01:00