Commit graph

524 commits

Author SHA1 Message Date
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
Richard Davey
183f5c4260 CameraManager.getTotal is a new method that will return the total number of Cameras being managed, with an optional isVisible argument, that only counts visible cameras if set. 2018-06-27 12:45:54 +01:00
Richard Davey
f2b7fd0a32 Removed the cameraX properties because they fall out of sync on camera remove 2018-06-27 12:13:37 +01:00
Richard Davey
da2b91b460 ArrayUtils.AddAt didn't calculate the array offset correctly if you passed an array in to be merged with an existing array. This also caused Container.addAt to fail if an array was passed to it. Fix #3788 2018-06-27 11:31:51 +01:00
Richard Davey
d02d6532fd TileSprite was using the Size compontent instead of ComputedSize, meaning its getBounds and displayWidth and displayHeight results were incorrect. Fix #3789 2018-06-27 11:20:21 +01:00
Richard Davey
0fdeec2e26 Updated docs 2018-06-26 17:43:05 +01:00
Richard Davey
c2fbad8356 Added jsdocs. Now 100% complete! 2018-06-26 17:24:51 +01:00
Richard Davey
f1190529d2 ScenePlugin.start and ScenePlugin.restart will now always queue the op with the Scene Manager, regardless of the state of the Scene, in order to avoid issues where plugins carry on running for a frame before closing down. Fix #3776 2018-06-26 16:35:45 +01:00
Richard Davey
b95f980023 Added in data object passing to all relevant methods #3748 2018-06-26 16:08:14 +01:00
Richard Davey
bb7b99a4db Updated log and formatting 2018-06-25 22:53:42 +01:00
Richard Davey
c6c9b25fdc Camera.alpha (and its related method Camera.setAlpha) allows you to get an alpha level for the entire camera. This impacts everything it is rendering, even if those objects also have their own alpha values too. You can tween the property to make the camera contents fade in / out, or you can set it as needed in your game. 2018-06-25 17:35:36 +01:00
Richard Davey
51468fdefc Merge branch 'master' of https://github.com/photonstorm/phaser 2018-06-25 16:25:42 +01:00
Richard Davey
d20188b75d Removed camera pool, renamed current ID and added accessor properties 2018-06-25 16:10:50 +01:00
Richard Davey
0c55745206 Updated log 2018-06-25 16:06:31 +01:00
Chris Andrew
3b3005926a Updated change log. 2018-06-24 00:55:57 +01:00
Richard Davey
6df877cfa3 Docs update 2018-06-23 12:33:20 +01:00
Richard Davey
472df6a7be Camera.centerOn is a new method that will move the camera so its viewport is centered on the given coordinates. A handy way of jumping to different points around a map without needing to calculate the scroll offsets. 2018-06-21 15:54:54 +01:00
Richard Davey
2ff6845360 Camera.centerToBounds didn't take the bounds offset into account, so bounds at non-zero positions wouldn't center properly. All bounds now center correctly. Fix #3706 2018-06-21 14:03:31 +01:00
Richard Davey
3e3b0d6397 Fixed issue where negative camera bounds wouldn't clamp properly 2018-06-21 12:33:20 +01:00
Richard Davey
2c8c4c7a16 Bob.setFrame didn't actually set the frame on the Bob, now it does. Fix #3774 2018-06-20 19:33:59 +01:00
Richard Davey
8fadf99c85 Updated change log 2018-06-20 17:52:23 +01:00
Richard Davey
7d573a35eb Added Camera.setDeadzone method, updated startFollow and added jsdocs. 2018-06-20 14:26:36 +01:00
Richard Davey
d15ac52f02 Updated log 2018-06-19 23:37:08 +01:00
Richard Davey
f1fe131e56 Tidying up Render Texture to make it more useful 2018-06-19 14:14:37 +01:00
Richard Davey
62661b46fb Updated rounded rect functions 2018-06-19 13:17:38 +01:00
Richard Davey
56df2ea829 Updated change log 2018-06-19 12:40:29 +01:00
Richard Davey
e5fbcd5574 Calling Tween.play on a tween created via TweenManager.create wouldn't actually start playback until the tween was first added to the Tween Manager. Now, calling play will have it automatically add itself to the Tween Manager if it's not already in there. Fix #3763 2018-06-19 12:28:29 +01:00
Richard Davey
28851ff69b Use hyphens instead of underscores. Fix #3751 2018-06-14 13:30:33 +01:00
Richard Davey
52d04ee5f9 The LoaderPlugin didn't emit the filecomplete event if any of files failed to load, causing it to fail to run the Scene create function as well. Fix #3750 2018-06-14 13:23:15 +01:00
Richard Davey
62deef81d8 Preparing for 3.11.0 development 2018-06-13 15:51:07 +01:00
Richard Davey
6456ef10a6 Touch pointer total fix
The InputManager would only create 1 Pointer, even if Touch input was enabled in the config, which meant you couldn't use touch events unless you first called `addPointer` or specified one in the config. Now, it Touch is enabled in the config, it'll always create 2 pointers by default.
2018-06-13 13:51:04 +01:00
Richard Davey
16f61b402b 3.10 Release 2018-06-13 09:00:40 +01:00
Richard Davey
641abd300b Updated the change log 2018-06-12 16:21:44 +01:00
Richard Davey
6dba00a9a7 Updated change log 2018-06-12 13:15:07 +01:00
Richard Davey
5313343730 Pointers capped at 10 max. 2018-06-11 13:39:28 +01:00
Richard Davey
e6e33f5e21 Added Game.isOver and mouseover and mouseout events. 2018-06-11 12:32:25 +01:00
Richard Davey
c24f3b8fdb Updated change log 2018-06-11 11:54:09 +01:00
Richard Davey
0b8915520b Added eslint rules. Fixed incorrect ES6 use. 2018-06-11 09:05:52 +01:00
Richard Davey
4304811dde Added new Pixel Perfect input handler and makePixelPerfect method. 2018-06-08 17:50:47 +01:00
Richard Davey
680d34b3c4 Convert Gamepad Manager to an Input Plugin 2018-06-08 16:17:58 +01:00
Richard Davey
02554984fe Removed KeyboardManager and replaced with KeyboardPlugin
The `KeyboardManager` class has been removed. It has been replaced with `KeyboardPlugin` which is now an Input level plugin, that registers itself with the new `InputPluginCache`. The Input Plugin class (which belongs to a Scene) will now automatically inject registered plugins into itself on boot. Every Scene has its own instance of the Input Plugin (if enabled in the scene plugins), which in turn has its own instance of the KeyboardPlugin. The `InputManager` no longer has any reference to the Keyboard class at all. The benefits of this are two-fold: First, it allows you to now entirely exclude all of the keyboard classes from a custom build, saving a lot of space if not required. Secondly, it means that the Scenes themselves are now responsible for keyboard events, where-as before they were entirely global. This means a Scene can be paused and stop processing keyboard events, and stop having its Key objects updated, while another Scene can still carry on doing this. It also prevents key related callbacks in sleeping Scenes from being fired (which resolves issue #3733, thanks @JoeMoov2)
2018-06-08 15:16:35 +01:00
Richard Davey
43fd10bbc1 ScenePlugin.run is a new method that will run the given Scene and not change the state of the current Scene at all. If the scene is asleep, it will be woken. If it's paused, it will be resumed. If not running at all, it will be started. 2018-06-08 15:07:00 +01:00
Richard Davey
a2c20a9aa7 lint fixes 2018-06-05 01:08:32 +01:00
Richard Davey
c0ac1259ea Significant Data Manager overhaul.
Adds in values property, removes redundant functions, streamlines the event flow, adds features to the get and set handlers.
2018-06-05 01:01:13 +01:00
Richard Davey
a0e4a07920 In TimeStep.step the rawDelta and delta values are checked to make sure they are non-negative, which can happen in Chrome when the delta is reset and out of sync with the value passed to Request Animation Frame. Fix #3088 2018-06-04 22:29:58 +01:00
Richard Davey
dced3a2090 Updated log. 2018-06-04 22:15:05 +01:00
Richard Davey
719a2eedca Interactive Objects inside of Containers would still fire their input events even if the Container (or any ancestor) was set to be invisible. Objects now check their ancestor tree during the input cull and now properly skip input events if not visible. Fix #3620 2018-06-04 21:04:27 +01:00
Richard Davey
a804d7fc75 Formatting fixes. 2018-06-04 17:26:47 +01:00
Richard Davey
8aacb7fe77 Typo 2018-06-04 17:13:38 +01:00
Richard Davey
6092088afc Updated change log. 2018-06-04 17:03:38 +01:00
Richard Davey
699951bc40 Updated change log 2018-06-04 16:49:17 +01:00
Richard Davey
ecfbea8bd4 Updated change log. 2018-06-04 15:19:32 +01:00
Richard Davey
130ab75c74 Updated change log 2018-06-04 13:24:55 +01:00
Richard Davey
e7fec396e1 If a Body collides with a Static Body it will now set the blocked properties accordingly 2018-06-03 21:17:33 +01:00
Richard Davey
e3e4130a15 Updated log 2018-06-03 17:08:16 +01:00
Richard Davey
fb817833a5 Updated change log 2018-06-02 12:45:34 +01:00
Richard Davey
95826aa95f Merge branch 'master' of https://github.com/photonstorm/phaser 2018-06-01 19:19:21 +01:00
Richard Davey
2a4e6ae56e Updated log with Arcade Physics changes 2018-06-01 19:19:18 +01:00
Chris Andrew
4750e92be4 Fixed a method signature issue with the Animation component's 'remove' event handler.
This prevented removed animations from stopping correctly, when they were removed from the AnimationManager.
2018-06-01 14:37:15 +01:00
Richard Davey
2dc7f1dc4e Updated change log 2018-06-01 00:06:05 +01:00
Chris Andrew
b2ef86534e Updated change log. 2018-05-31 18:05:54 +01:00
Chris Andrew
ee6f48b10c Fixed an incorrect usage of Math.abs() in Quaternion.calculateW() (thanks @qxzkjp). 2018-05-31 18:05:31 +01:00
Chris Andrew
fb55b9bb44 Updated change log. 2018-05-31 17:44:22 +01:00
Richard Davey
f45ab89f8d The ForwardDiffuseLightPipeline, used by the Lights system, now sets a flag if the Scene doesn't contain any lights. All of the Game Objects now check this flag and don't even bother adding themselves to the batch if there are no lights in the Scene, as they'd never render anyway. This also avoids the ghost-image problem if you swap Scenes to a new Scene with the Light Manager enabled, but no actual lights defined. Fix #3707 2018-05-31 16:57:30 +01:00
Richard Davey
20e21ff5ac Rectangle.RandomOutside is a new function that takes two Rectangles, outer and inner, and returns a random point that falls within the outer rectangle but is always outside of the inner rectangle. 2018-05-31 14:07:39 +01:00
Richard Davey
a739be27a1 RenderTexture.resize will allow you to resize the underlying Render Texture to the new dimensions given. Doing this also clears the Render Texture at the same time 2018-05-29 12:07:40 +01:00
Richard Davey
a7da8dc28f The Canvas RenderTexture drawImage method incorrectly set the values of the frame, causing them to appear wrongly scaled in the canvas renderer. Fix #3710 2018-05-29 11:50:23 +01:00
Richard Davey
d2981a8576 Preparing for 3.10 dev work 2018-05-25 00:21:01 +01:00
Richard Davey
23d3fe3774 3.9.0 Release 2018-05-24 23:42:40 +01:00
Richard Davey
6cfc5d49e7 The AudioContextMonkeyPatch has been updated to use an iife. Fix #3437 2018-05-24 23:17:33 +01:00
Richard Davey
3d9da060c5 Camera.shake would not effect dynamic tilemap layers. Fix #3669 2018-05-24 23:02:59 +01:00
Richard Davey
7d692bc7dc Added Camera.followOffset property and helper methods setLerp and setFollowOffset. 2018-05-24 17:30:28 +01:00
Richard Davey
f8cda698e4 Added Camera.lerp and implemented linear interpolation when following targets 2018-05-24 15:29:38 +01:00
Richard Davey
57c2ccbf5e Formatting fix and doc update 2018-05-24 14:03:29 +01:00
Richard Davey
35a5a6d2da updated change log 2018-05-24 13:49:51 +01:00
Richard Davey
68303622f2 Setting an existing Game Object as a static Arcade Physics body would sometimes incorrectly pick-up the dimensions of the object, such as with TileSprites. Fix #3690 2018-05-23 15:17:26 +01:00
Richard Davey
6eea9db9b2 jsdoc fixes. FIx #3694 2018-05-23 15:04:54 +01:00
Richard Davey
63bb14c37c Log update 2018-05-23 14:58:44 +01:00
Richard Davey
b6768f8a0f Added contributor 2018-05-22 23:23:01 +01:00
Richard Davey
8aa116ca4b The dragend event would be broadcast even if the drag distance or drag time thresholds were not met. Fix #3686 2018-05-22 21:24:50 +01:00
Richard Davey
de8462efed Added default values and tidied up docs a little 2018-05-22 16:19:18 +01:00
Richard Davey
a9cbf23b4e Log update 2018-05-22 16:13:05 +01:00
Richard Davey
457ab68ef4 Container updated to use preDestroy and remove event hooks 2018-05-22 16:02:28 +01:00
Richard Davey
0b1d32b571 New registerFileType argument, new Global Plugin mapping and createEntry method
* PluginManager.registerFileType has a new property `addToScene` which allows you to inject the new file type into the LoaderPlugin of the given Scene. You could use this to add the file type into the Scene in which it was loaded.
* PluginManager.install has a new property `mapping`. This allows you to give a Global Plugin a property key, so that it is automatically injected into any Scenes as a Scene level instance. This allows you to have a single global plugin running in the PluginManager, that is injected into every Scene automatically.
* PluginManager.createEntry is a new private method to create a plugin entry and return it. This avoids code duplication in several other methods, which now use this instead.
2018-05-18 18:43:27 +01:00
Richard Davey
56888fd5db Game will now auto-focus and prevent focus loss for the keyboard when clicking away and back again
* Game has a new property `hasFocus` which is a read-only boolean that lets you know if the window the game is embedded in (including in an iframe) currently has focus or not.
* Game.Config has a new property `autoFocus`, which is `true` by default, and will automatically call `window.focus()` when the game starts.
* Clicking on the canvas will automatically call `window.focus`. This means in games that use keyboard controls if you tab or click away from the game, then click back on it again, the keys will carry on working (where-as before they would remain unfocused)
2018-05-18 17:37:45 +01:00
Richard Davey
7c28a7bd08 Bob.reset will now reset the position, frame, flip, visible and alpha values of the Bob, plus JSDocs completed. 2018-05-18 14:44:25 +01:00
Richard Davey
9429a28574 The Particle tint value was incorrectly calculated, causing the color channels to be inversed. Fix #3643 2018-05-18 13:16:17 +01:00
Richard Davey
ef2b8d68b6 setInteractive now works on non-zero sized Containers. Sorting fixed. 2018-05-18 12:48:12 +01:00
Richard Davey
919676ae10 PluginManager.destroy didn't reference the plugin correctly, throwing an Uncaught TypeError if you tried to destroy a game instance. Fix #3668 2018-05-17 12:16:14 +01:00
Richard Davey
b4f371edc5 Preparing for 3.9 dev 2018-05-16 22:05:25 +01:00
Richard Davey
0d0846a415 Calling a creator, such as GraphicsCreator, without passing in a config object, would cause an error to be thrown. All Game Object creators now catch against this. 2018-05-16 15:17:08 +01:00
Richard Davey
dfc3cb92c0 3.8.0 Release 2018-05-16 15:08:01 +01:00
Richard Davey
26faa58ad7 Corrected an error in Container.getBoundsTransformMatrix that called a missing method, causing a getBounds on a nested container to fail. Fix #3624 2018-05-15 16:23:33 +01:00
Richard Davey
5b0cb0faf3 All Game Objects have a new method setRandomPosition which will randomly position them anywhere within the defined area, or if no area is given, anywhere within the game size. 2018-05-15 15:58:53 +01:00
Richard Davey
2f4358fed4 The keycodes for 0 to 9 on the numeric keypad have been added. You can now use them in events 2018-05-15 15:57:26 +01:00
Richard Davey
9500a6ee32 When calling generateFrameNames to define an animation from a texture atlas you can now leave out all of the config properties and it will create an animation using every frame found in the atlas. Please understand you've no control over the sequence of these frames if you do this and it's entirely dictated by the json data 2018-05-15 15:34:57 +01:00
Richard Davey
6ef465a734 Animation.yoyo was ignored when calculating the next frame to advance to, breaking the yoyo effect. It now yoyos properly 2018-05-15 09:40:22 +01:00
Richard Davey
f410dc3d88 The Headless renderer was broken due to an invalid access during TextureSource.init. 2018-05-15 08:51:54 +01:00
Richard Davey
bdf9f5ce60 Utils.Array.BringToTop failed to move the penultimate item in an array due to an index error. Fix #3658 2018-05-15 08:45:39 +01:00
Richard Davey
4741ee02b1 Updated docs and lint fixes 2018-05-11 18:55:44 +01:00
Richard Davey
2f4c52b7e4 Remapped EventEmitter correctly to Phaser.Events.EventEmitter 2018-05-11 14:05:34 +01:00
Richard Davey
0a46c13f4c Working through new plugin structure 2018-05-11 01:50:37 +01:00
Richard Davey
11cbf0cf8d Marked the children parameter as optional. Fix #3657 2018-05-10 23:32:46 +01:00
Richard Davey
cc9d3160b1 Update type 2018-05-10 13:07:49 +01:00