Commit graph

627 commits

Author SHA1 Message Date
Richard Davey
b1771a17dd Updated InputPlugin event specificity flow and added stopPropagation support 2018-09-12 12:38:08 +01:00
Richard Davey
4d05e5ce7d Updated change log 2018-09-10 20:44:28 +01:00
Richard Davey
0350e0d078 Updated change log 2018-09-10 11:29:35 +01:00
Richard Davey
dedc939fdd initPipeline now defaults to the Texture Tint Pipeline if nothing else is specified. 2018-09-05 11:19:02 +01:00
Richard Davey
dff9bdef9f The Graphics Canvas Renderer will now automatically call beginPath on the target context before processing the command stack. This has the effect of clearing off any sub-paths that may have persisted on the stack from previous Graphics objects or frames. 2018-09-04 23:33:38 +01:00
Richard Davey
8216c11143 Updated log 2018-09-04 22:45:30 +01:00
Richard Davey
5b98386677 Calling Text.setStyle would make the Text vanish if you didn't provide a resolution property in the style configuration object. Calling setStyle now only changes the properties given in the object, leaving any previously changed properties as-is. Fix #4011 2018-09-04 22:43:25 +01:00
Richard Davey
03aeaefe21 Preparing for 3.13 development 2018-09-04 16:01:42 +01:00
Richard Davey
cb1c6f614d Preparing for 3.12 release 2018-09-04 15:42:10 +01:00
Richard Davey
382d6ae687 Updated log 2018-09-04 14:12:51 +01:00
Richard Davey
7c55e65543 Arcade Physics Body deltaX and deltaY methods will now return the previous steps delta values, rather than zero. Fix #3987 2018-09-04 12:16:24 +01:00
Richard Davey
3d989e136f Arcade Physics World collideSpriteVsTilemapLayer now syncs the collision results back to the body, allowing you to call collide from within an update loop once again. Fix #3999 2018-09-04 12:12:51 +01:00
Richard Davey
a1610fd9d7 Log updated 2018-09-03 13:13:37 +01:00
Richard Davey
a2dc7929dc Updated log 2018-09-01 10:22:03 +01:00
Richard Davey
d586483dc3 Merge branch 'master' of https://github.com/photonstorm/phaser 2018-09-01 01:48:30 +01:00
Richard Davey
cdd75f85a2 Updated log 2018-09-01 01:47:00 +01:00
Richard Davey
0a4fc5b026 Calling setTimeScale on the Sprite's Animation component will now set the time scale value and keep it set until you change it again. Previously it would be reset to 1 when a new animation was loaded into the component, but this no longer happens - once the time scale is set it remains in effect, regardless of which animations are played on the Sprite. 2018-08-31 18:45:50 +01:00
Richard Davey
ecae9d0503 The setTintFill method would ignore the alpha value of the Game Object in the shader. The alpha value is now blended with the tint fill, allowing you to properly alpha out tint-filled Game Objects. Fix #3992 2018-08-31 13:27:24 +01:00
Richard Davey
1f859208ea Updated log 2018-08-29 16:35:18 +01:00
Richard Davey
00b9da47d5 Updated log 2018-08-29 16:12:05 +01:00
Richard Davey
7041bd99ec The InputManager.inputCandidate method, which determines if a Game Object can be interacted with by a given Pointer and Camera combination, now takes the full camera status into consideration. This means if a Camera is set to ignore a Game Object you can now longer interact with it, or if the Camera is ignoring a Container with an interactive Game Object inside it, you cannot interact with the Container children any more. Previously they would interact regardless of the Camera state. Fix #3984 2018-08-29 11:57:30 +01:00
Richard Davey
cbfc208e5b Updated log 2018-08-24 23:58:38 +01:00
Richard Davey
ca783182bf Updated change log 2018-08-23 18:11:29 +01:00
Richard Davey
0e27dc33e4 When a Sprite3D object is added to a Camera via Camera.add it is now added to the Display and Update Lists. Fix #3945 2018-08-23 15:53:33 +01:00
Richard Davey
fc51f3a2db Updated log and added plugin readme 2018-08-23 15:44:53 +01:00
Richard Davey
a8b649cf98 Log update 2018-08-23 12:36:35 +01:00
Richard Davey
5443f9cf5a Fixed the way the arc overshoot works. 2018-08-23 12:31:55 +01:00
Richard Davey
144cfaff8f Previously the Input Manager would create a Touch handler unless the Game Config had input.touch set to false (the default was true). If no such property is set, it no longer defaults to true and instead is set to whatever Device.input.touch returns. On non-touchscreen desktops this means it will now only create one single Pointer, rather than two. 2018-08-22 17:01:21 +01:00
Richard Davey
dc868f8368 You can now resize SVG files during load, before they are rendered to textures.
Also added scale support and fixed some viewBox settings (#3941)
2018-08-22 15:43:09 +01:00
Richard Davey
65fb366ecd Matter updated to 0.14.2. Fix #3929 2018-08-22 14:01:35 +01:00
Richard Davey
0dccc3a510 Updated jsdocs. Fix #3849 2018-08-21 23:48:03 +01:00
Richard Davey
2dfe321d67 The getPixelAlpha and getPixel methods in the Texture Manager would allow x/y coordinates from outside the cut area of a frame. It now tests to ensure they're within the frame. Fix #3937 2018-08-21 23:25:08 +01:00
Richard Davey
198f353c9a The default Container Blend Mode is now SKIP_TEST. This allows you to either set a blend mode for a Container, in which case all children use that blend mode. Or, you can set a blend mode on the children and the children will render using their own blend modes, as the Container doesn't have one set. The WebGL and Canvas Renderer functions have also been updated to support this change. Fix #3684 2018-08-21 22:07:35 +01:00
Richard Davey
01290afda9 A Game Object couldn't have a blend mode of SKIP_TEST set by using the getter or the setBlendMode method. 2018-08-21 21:54:38 +01:00
Richard Davey
55c2de28b7 Updated log 2018-08-21 18:03:52 +01:00
Richard Davey
a98b3c3b15 In Matter.js if you scaled a Body it would only scale correctly once, due to the way Matter handles scaling internally. We now automatically reset the Matter scale before applying the new value, which allows you to keep the Phaser and Matter object scales in sync. Fix #3785 #3951 2018-08-21 15:55:39 +01:00
Richard Davey
a7bbbb657d Updated log 2018-08-21 15:40:40 +01:00
Richard Davey
3cc17f5c97 The RandomDataGenerator will now create a default random seed if you instantiate your own version of the class (instead of using Phaser.Math.RND) and don't provide a seed for it 2018-08-21 14:06:41 +01:00
Richard Davey
0eef6f1bb9 Updated scroll factor docs to clarify impact on physics bodies #3810 2018-08-20 19:19:53 +01:00
Richard Davey
761415f051 Updated log 2018-08-20 18:46:10 +01:00
Richard Davey
27c3cc30ac Previously, changing a Text object by setting its text property directly wouldn't change the text being rendered as using setText was the expected way to change what was being displayed. Internally the text property has been renamed to _text and flagged as private, and a new getter / setter for text has been added, which hands over to the setText method, meaning you can now use both ways of setting the text. Fix #3919 2018-08-20 17:41:05 +01:00
Richard Davey
818fbb05c7 Updated log 2018-08-20 16:42:27 +01:00
Richard Davey
661070ec6a Updated log 2018-08-18 16:46:03 +01:00
Richard Davey
4bdb0de312 The Arcade Physics Body.speed property is now set whenever you set the velocity via setVelocity or setVelocityX or setVelocityY which stops the body velocity being reset to zero if useDamping is enabled. Fix #3888 2018-08-08 17:31:22 +01:00
Richard Davey
764de08ff4 Camera.ignore can now take nested-arrays of Game Objects and also supports both Groups and Containers. 2018-08-08 16:46:14 +01:00
Richard Davey
452a364c0b Updated log 2018-08-08 01:33:39 +01:00
Richard Davey
9af64d02ad Updated log 2018-08-07 16:25:20 +01:00
Richard Davey
2d91d4a26b You can now access the Game instance directly from a Scene using this.game 2018-08-07 11:19:20 +01:00
Richard Davey
26cc84522d The CanvasRenderer.BlitImage function has been removed, as has the associated blitImage property from the Canvas Renderer as they're no longer used. 2018-08-06 15:29:27 +01:00
Richard Davey
fbb67ac201 The CanvasRenderer.DrawImage function has been removed, as has the associated drawImage property from the Canvas Renderer as they're no longer used. 2018-08-06 15:24:51 +01:00
Richard Davey
702e738ffc When a Static Tilemap Layer is generated in WebGL it will use the Cameras roundPixels value to clamp the tile coordinates. 2018-08-06 14:16:36 +01:00
Richard Davey
50821c29ac Updated jsdocs 2018-08-06 13:45:56 +01:00
Richard Davey
86965c28e4 The Tilemap Culling function now uses the Tilemap tile dimensions for its bounds calculations, instead of the layer tile sizes, as they two don't have to match and it's the underlying grid size that takes precedence when calculating visible tiles. Fix #3893 2018-08-06 13:31:27 +01:00
Richard Davey
41c9f8b1e1 Docs update 2018-08-06 00:41:34 +01:00
Richard Davey
c2782d89ca Updated log. 2018-08-03 19:31:02 +01:00
Richard Davey
c6cb0edf60 Updated log. 2018-08-03 19:17:17 +01:00
Richard Davey
ca68904953 The Canvas Renderer has a new batchSprite method that consolidates the process of drawing a texture-based Game Object to the canvas. It processes the alpha, blend mode and matrix calculations in a single function and now is used by nearly all Game Object canvas renderers. 2018-08-03 18:53:50 +01:00
Richard Davey
c98f5edc23 Added resetCropObject method to cut down on duplicate code. 2018-08-03 18:50:36 +01:00
Richard Davey
b65cf0647b New Crop Game Object component. 2018-08-03 18:49:10 +01:00
Richard Davey
8c842f67de Phaser.Utils.String.UUID will return an RFC4122 complaint UUID as a string. This is used internally to avoid cache key conflicts, but is exposed for your own use as well. 2018-08-03 18:47:27 +01:00
Richard Davey
fc0dc13930 Removed use of currentBlendMode and currentAlpha 2018-08-03 01:53:51 +01:00
Richard Davey
9f44896a3f The Blend Mode is now set directly in all Canvas Renderers without comparing it to what's stored in the Canvas Renderer. This fixes problems where the blend mode would be lost between two different Game Objects because they restored the context, but didn't update the renderer flag. Game Objects in Canvas can now mix and match blend modes across the display list. 2018-08-03 01:29:18 +01:00
Richard Davey
31421ee00a The CullTiles updates from 3.11 didn't factor in the position of the Tilemap Layer to its bounds calculations, causing Static layers displayed out of the Camera viewport to never render in Canvas mode. The method has also been optimized further, with less divisions and less checks if culling is disabled. 2018-08-03 00:40:56 +01:00
Richard Davey
eff01adbc9 Added divide argument to the Snap methods. 2018-08-03 00:34:11 +01:00
Richard Davey
c4c8b9e6ea Added copyToContext method 2018-08-02 17:23:52 +01:00
Richard Davey
2a66e01577 Added source property so we can purge TSs based on origin 2018-08-02 16:16:46 +01:00
Richard Davey
51163e6d4e If you set window.FORCE_WEBGL or window.FORCE_CANVAS in the window in which the Phaser game is loaded it will over-ride the renderer type setting in your game config, and force either WebGL or Canvas. This is handy for quickly testing the differences between renderers without having to do a new build each time. 2018-08-02 15:58:36 +01:00
Richard Davey
7566236d9b Added isRenderTexture property. 2018-08-02 12:34:57 +01:00
Richard Davey
3efc800bf7 Use global string to cut down on size a little. 2018-08-02 12:33:48 +01:00
Richard Davey
7ebf5766e8 Added docs for blankTexture and setBlankTexture. 2018-08-01 13:23:03 +01:00
Richard Davey
73524df816 The Game boot event flow has changed slightly. The Game will now listen for a texturesready event, which is dispatched by the Texture Manager when the default textures have finished processing. Upon receiving this, the Game will emit the ready event, which all the other systems listen for and respond to. The difference is that the Renderer uses the texturesready event to ensure that it is the first thing to be activated, before any other system. 2018-08-01 13:18:28 +01:00
Richard Davey
030911cf60 Log update 2018-07-31 23:22:45 +01:00
Richard Davey
7313573161 The ParticleEmitterManager now has the Transform component. This means you can now set the position, rotation or scale of the Emitter Manager, and it will influence every Emitter it is rendering. The Managers transform is mixed with that of the Camera. This works in both Canvas and WebGL. 2018-07-31 23:21:07 +01:00
Richard Davey
c3cc4317dd Particle.color has been removed as it's now calculated during rendering to allow for Camera alpha support. 2018-07-31 23:18:49 +01:00
Richard Davey
bc40830f00 Log update 2018-07-31 17:10:46 +01:00
Richard Davey
f26f78f0fe Updated log 2018-07-31 11:53:02 +01:00
Richard Davey
fa2b78192c The CameraManager was accidentally adding extra destroy event calls when a Scene was restarted, causing an Uncaught TypeError: Cannot read property 'events' of null when trying to destroy a game instance having swapped from a Scene to another, and back again. Fix #3878 2018-07-31 11:34:59 +01:00
Richard Davey
7e73024d83 Added new noReturn destroy boolean for when you absolutely want to nuke the site from orbit. 2018-07-31 10:29:11 +01:00
Richard Davey
3d23013b86 Body setSize changes to fix #3863 PR 2018-07-31 09:39:22 +01:00
Richard Davey
e799a0557a Updated log 2018-07-31 09:31:13 +01:00
Richard Davey
a8b605f42d Zone now calls updateDisplayOrigin in its constructor, causing the displayOriginX and displayOriginY values to now be correct if you create a Zone and then don't resize it. Fix #3865 2018-07-29 12:34:21 +01:00
Richard Davey
2889d68f93 Updated change log 2018-07-29 12:24:14 +01:00
Richard Davey
b30e4185b9 Updated log 2018-07-27 11:19:26 +01:00
Richard Davey
1abe90433f Updated log and docs 2018-07-27 02:49:05 +01:00
Richard Davey
6163340f58 Updated log 2018-07-27 00:53:07 +01:00
Richard Davey
a3c4c60519 Log update. 2018-07-26 16:34:13 +01:00
Richard Davey
c65e7dc5fa Updated log 2018-07-25 23:00:36 +01:00
Richard Davey
e2517486a1 Updated log 2018-07-23 15:52:55 +01:00
Richard Davey
9df7fbaa68 Adding an array of children to a Group would cause it to mistakenly think you were passing a config object. Fix #3854 2018-07-23 13:29:39 +01:00
Richard Davey
09bee35693 Updated log 2018-07-23 01:53:48 +01:00
Richard Davey
2c7280a2c0 Updated log 2018-07-23 01:39:37 +01:00
Richard Davey
2a008e6713 FileType.HTML is a new file type loader that will load an HTML snippet and store it in the new html cache. Access it via load.html (this method was previously used to load html to textures, please see load.htmlTexture for this feature now) 2018-07-19 13:21:51 +01:00
Richard Davey
ec5bd1912e GameObject.willRender now takes a Camera as its only argument and uses it within the check. This has allowed me to remove 23 duplicate checks spread across the various Game Objects, all of which did the same thing, saving both KB and CPU time as the flags were being checked twice in most cases. 2018-07-19 13:19:02 +01:00
Richard Davey
1d697b1371 Updated log 2018-07-19 00:42:37 +01:00
Richard Davey
ab35dfab95 The setCrop method stored its crop object on the prototype chain by mistake, causing all Images or Sprites that were cropped to display the same frame. The crop data has been moved to the Game Object instance, where it should be, fixing this issue 2018-07-19 00:18:09 +01:00
Richard Davey
20f1b37256 eslint fix and log update 2018-07-18 15:06:56 +01:00
Richard Davey
b6a1033dbd Fixed Camera FX for scaled camera sizes 2018-07-18 15:03:06 +01:00
Richard Davey
14ba51d928 Added Text.setResolution methods. 2018-07-18 14:45:10 +01:00
Richard Davey
1b9f5dc76d Updated change log 2018-07-18 14:32:55 +01:00
Richard Davey
e29671282b Updated change log 2018-07-17 22:44:28 +01:00
Richard Davey
73292c892a Updated change log 2018-07-16 15:16:29 +01:00
Richard Davey
05e6f65d51 3.11 Release 2018-07-13 11:37:57 +01:00
Richard Davey
9a82bd33e5 Updated change log 2018-07-13 11:14:29 +01:00
Richard Davey
944ca91e85 Updated log 2018-07-13 08:30:57 +01:00
Richard Davey
b4ddd44105 Added cullCallback support - the final step in culling. Don't like ours? Roll your own! 2018-07-12 17:06:36 +01:00
Richard Davey
8981cf4a03 Swapped from vec2 to explicit values for cullPadding 2018-07-12 16:51:54 +01:00
Richard Davey
b03d3ff783 Added support for cull padding 2018-07-12 16:44:36 +01:00
Richard Davey
52f50028c3 Updated change log 2018-07-12 16:32:36 +01:00
Richard Davey
7ea53767cd Updated change log 2018-07-12 16:13:00 +01:00
Richard Davey
049f59da70 Updated log and packages 2018-07-12 01:14:52 +01:00
Richard Davey
872788db1e Updated info 2018-07-11 17:20:13 +01:00
Richard Davey
e588ccc321 Updated log 2018-07-11 16:25:03 +01:00
Richard Davey
82b15c8695 Removed drawEmitterManager and moved to emitter render function 2018-07-11 14:40:36 +01:00
Richard Davey
497fa1f2ff Added copyFromArray method 2018-07-11 12:36:49 +01:00
Richard Davey
cced09bad6 Added Pointer.prevPosition and getInterpolatedPosition method 2018-07-11 12:34:00 +01:00
Richard Davey
14354fd151 Added deprecation warning 2018-07-10 17:18:08 +01:00
Richard Davey
9c9e9cecbb Updated log and lint fixes 2018-07-10 16:49:53 +01:00
Richard Davey
f813c3a4e3 Updated log 2018-07-10 16:34:29 +01:00
Richard Davey
469f6b6880 TransformMatrix.multiply has a new optional argument out which is a matrix to store the multiplication results in. If not given it will act as before, multiplying the current matrix. 2018-07-10 14:01:14 +01:00
Richard Davey
4d5eb4755b Updated log 2018-07-09 23:02:31 +01:00
Richard Davey
6560f51699 Added jsdocs and updated change log 2018-07-09 22:35:48 +01:00
Richard Davey
a3803a286f Fixed origin addition post-scale 2018-07-09 16:17:52 +01:00
Richard Davey
91a48c30c4 GetBitmapTextSize, which is used internally in the BitmapText Game Objects, will now produce different bounds from the previous version. Previously, the bounds were tight against the letters in the text. However, this meant the bounds were not properly aligned with the origin of the BitmapText, and consequently you'd get different bounds if the text consisted of different characters. The bounds are now calculated purely based on the glyph data and letter spacing values. This will give a far more consistent overall experience, but it does mean if you were using the bounds to position text previously, you'll need to revisit that code again. See issue #3799 for more details (and to discuss this further if you wish) 2018-07-09 16:06:36 +01:00
Richard Davey
17653fcf7d BitmapMask.destroy will now remove the textures and framebuffers that it created from the WebGL Renderer as part of the destroy process. Fix #3771 2018-07-09 14:26:45 +01:00
Richard Davey
cd508ab3f1 The ScenePlugin will now queue all of the following ops with the Scene Manager: start, run, pause, resume, sleep, wake, switch and stop. This means for all of these calls the Scene Manager will add the call into its queue and process it at the start of the next frame. 2018-07-09 14:08:55 +01:00
Richard Davey
84c7960a48 The Quad Game Object now has a new setFrame method that allows you to change the frame being rendered by the Quad, including using frames that are part of a texture atlas. Fix #3161 2018-07-09 13:42:33 +01:00
Richard Davey
ecd99869bd Explained mask positioning better in docs. Fix #3770 2018-07-08 23:38:13 +01:00
Richard Davey
cb7510b2e5 Updated log 2018-07-08 23:19:33 +01:00
Richard Davey
8b13631107 Removed batchMesh and moved to the Mesh WebGL Renderer. Another one bites the dust. 2018-07-06 19:35:46 +01:00
Richard Davey
6aa1526ea9 Graphics.arc has a new optional argument overshoot. This is a small value that is added onto the end of the endAngle and allows you to extend the arc further than the default 360 degrees. You may wish to do this if you're trying to draw an arc with an especially thick line stroke, to ensure there are no gaps. Fix #3798 2018-07-06 17:15:46 +01:00
Richard Davey
a64d747c98 clearMask(true) would throw an exception if the Game Object didn't have a mask. Now it checks first before destroying the mask. Fix #3809 2018-07-06 16:34:11 +01:00
Richard Davey
1931716da3 Exposed isTinted bool 2018-07-06 16:22:42 +01:00
Richard Davey
901a75d053 setCrop will accept numbers or a Rectangle object 2018-07-06 12:57:42 +01:00
Richard Davey
f195a09530 Rectangle.Intersection will take two Rectangle objects and return the area of intersection between them. If there is no intersection, an empty Rectangle is returned. 2018-07-05 23:54:51 +01:00
Richard Davey
f3a446797d Added new TextureCrop component 2018-07-05 13:06:28 +01:00
Richard Davey
43fc988034 Moved crop UV handler to the Frame method. Cleaner and easier. 2018-07-04 15:18:08 +01:00
Richard Davey
ee8c1b403a Fixed cropping with flipped images 2018-07-04 14:50:26 +01:00
Richard Davey
4b0ed8a0da Merge branch 'master' of https://github.com/photonstorm/phaser 2018-07-03 00:14:28 +01:00
Richard Davey
c82c09914e Updated UV values 2018-07-02 23:51:42 +01:00
Chris Andrew
3360825ec3 Fixed minor change log typos. 2018-07-02 23:10:16 +01:00
Richard Davey
a02d5ffdc8 Updated change log 2018-07-02 16:44:32 +01:00
Richard Davey
cf008e612c Added e and f properties and multiplyWithOffset and copyFrom 2018-07-02 15:33:54 +01:00
Richard Davey
8a7ead03a8 Frame.glTexture is a new property that maps to the WebGL Texture for the Frames Texture Source image. It's used internally by the renderer to avoid expensive object look-ups and is set automatically in the Frame constructor. 2018-07-02 13:43:35 +01:00
Richard Davey
390ae5f683 Update 2018-07-02 13:32:20 +01:00
Richard Davey
fe61cfe2d1 You can now set the WebGL batch size in the Game Config via the property batchSize. The default is 2000 before the batch will flush, which is a happy average between desktop and mobile. If targeting desktop specifically, you may wish to increase this value to reduce draw calls. 2018-07-02 12:33:46 +01:00
Richard Davey
b57d94ae33 Typo fixes 2018-06-29 01:07:14 +01:00
Richard Davey
f97ce72e16 Added the Mask compontent to Container. It worked without it, but this brings it in-line with the documentation and other Game Objects. Fix #3797 2018-06-28 14:17:04 +01:00
Richard Davey
217779604c Added tileScaleX and tileScaleY support for Tile Sprites 2018-06-28 12:59:27 +01:00
Richard Davey
7a23378015 Unified use of roundPixels, antialias and pixelArt modes 2018-06-27 15:15:00 +01:00
Richard Davey
1bfe58ab55 remove can take an array of cameras and also no longer needs total to be > 0 2018-06-27 13:03:40 +01:00