Commit graph

385 commits

Author SHA1 Message Date
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
Richard Davey
90e04c7e90
Merge pull request #4563 from samme/types/tween-configs
Add types for tween configs
2019-05-30 22:00:37 +01:00
Richard Davey
df0b474638 Added getTopCenter, getBottomCenter, getLeftCenter and getRightCenter 2019-05-29 16:27:31 +01:00
samme
777f436aa3 Add NumberTweenBuilderConfig to path configs 2019-05-28 14:11:28 -07:00
Richard Davey
c91ed91ce3 License link update 2019-05-10 16:15:04 +01:00
Richard Davey
a6341a97a8 Fixed Types references 2019-05-09 15:32:53 +01:00
Richard Davey
b09ddc9048 GameObject Types 2019-05-09 12:01:00 +01:00
Richard Davey
3ca2b667b3 PathFollower Types 2019-05-09 11:57:27 +01:00
Richard Davey
2f48d68735 A shader can now be used as a bitmap mask 2019-05-01 11:12:31 +01:00
Richard Davey
1995be80a2 GameObjects.Components.PathFollower is a new component that manages any type of Game Object following a path. The original Path Follower Game Object has been updated to use this new component directly, but it can be applied to any custom Game Object class. 2019-04-08 13:53:08 +01: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
3456e19815 Updated jsdocs 2019-03-05 09:20:30 +00:00
Richard Davey
e7b1d086e7 Moving all of the typedefs to properly namespaced scopes, rather than globals
\o/ ~ "Someone, save me!"
2019-02-13 12:35:12 +00:00
Richard Davey
b50e1c78b5 Lots more jsdoc tweaks and improvements 2019-02-12 15:01:54 +00:00
Richard Davey
4e817497d4 Namespace fixes 2019-02-12 12:48:41 +00:00
Richard Davey
4f6f6ee72f Lots of jsdoc and type fixes 2019-01-31 12:19:01 +00:00
Richard Davey
bc962c25dc All listeners use the new Events 2019-01-18 13:41:43 +00:00
Richard Davey
aa341854c7 Happy New Year 2019-01-15 16:20:22 +00:00
Richard Davey
11ed074450 Refactoring how events are handled internally and in the docs 2019-01-15 14:37:24 +00:00
Richard Davey
49c2868746 All default width/height values are now taken from the Scale Manager, not the Game Config 2019-01-11 15:57:57 +00:00
Richard Davey
1bf9be5e12 Animation.stop guard. 2018-12-13 13:03:54 +00:00
Richard Davey
da0d9802de Fixed typo 2018-12-06 16:59:53 +00:00
Richard Davey
2fe4d536a9 Updated docs 2018-12-06 15:59:22 +00:00
Richard Davey
e6f5d0144e Added Animation.chain method to queue an animation to start when the current one ends. 2018-12-06 15:57:52 +00:00
Richard Davey
cd80b27ea6 Updated jsdocs 2018-12-06 15:39:57 +00:00
Richard Davey
8fe2e30635 Removed update event 2018-12-06 15:34:15 +00:00
Richard Davey
9e78553a48 reverse no longer needs the argument. play and playReverse can now take an Animation instance as an argument, not just a key. 2018-12-06 15:28:32 +00:00
Richard Davey
202c6c9c1a Added nextFrame and previousFrame to the Animation component 2018-11-16 14:34:09 +00:00
Richard Davey
5147fb281a Added new Blend Modes. 2018-11-13 15:10:25 +00:00
Richard Davey
a1273e42b8 Added ERASE blend mode 2018-11-13 10:31:56 +00:00
Richard Davey
d740ca2302 Use QR decomposition or it all goes wrong! 2018-10-26 19:38:30 +01:00