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
Richard Davey
7a4b29872e
Allow for custom canvas and context game config options. Game.context now set in WebGL mode. Allows WebGL2 contexts to be passed in. Fix #3653
2018-05-10 12:25:33 +01:00
Richard Davey
835bc37e32
Optimized TextureTintPipeline.drawBlitter so it skips bobs that have alpha of zero and only calls setTexture2D
if the bob sourceIndex has changed, previously it called it for every single bob.
2018-05-09 15:13:06 +01:00
Richard Davey
056e74d6dc
Added compression object for future texture compression support.
2018-05-09 13:46:19 +01:00
Richard Davey
6350976329
Updated change log
2018-05-09 13:02:31 +01:00
Richard Davey
89329a2315
Added getMaxTextures and getMaxTextureSize methods
2018-05-09 12:12:16 +01:00
Richard Davey
d90e012898
Preparing for 3.8.0
2018-05-09 11:23:41 +01:00
Richard Davey
7788602518
3.7.1 Release
2018-05-08 23:47:33 +01:00
Richard Davey
57918bb50f
Removed the need for raw-loader
in webpack. Shaders now build to standard JS files. Removed fs requirement.
2018-05-08 23:04:57 +01:00
Richard Davey
ec3bd4c729
The WebAudioSoundManager will now listen for 'click' events on the document body, as well as touch events, before resuming the AudioContext.
2018-05-08 16:51:43 +01:00
Richard Davey
672a535d88
Added disableInteractive and removeInteractive methods. #3621
2018-05-08 16:15:50 +01:00
Richard Davey
cfef9c97aa
Updated change log
2018-05-08 13:16:59 +01:00
Richard Davey
560b0ca84b
Binary files have a new optional dataType
property to cast the data to upon load.
2018-05-08 01:12:41 +01:00
Richard Davey
ad6c08a4d0
Preparing for 3.7 release next week
2018-05-04 18:57:34 +01:00
Richard Davey
7c53e13e81
Finished jsdocs
2018-05-04 18:50:10 +01:00
Richard Davey
8e7df2a234
You can now set the X-Requested-With
header in the XHR requests by specifying it in your XHRSettings config, either in the game, scene or file configs.
2018-05-04 17:33:48 +01:00
Richard Davey
8b574f271f
Loader.enableParallel has been removed. If you don't want parallel file loads then set the maximum parallel limit to 1. Related to this, the Game Config loaderEnableParallel
property has been removed.
2018-05-04 17:13:27 +01:00
Richard Davey
faef3449f5
Added jsdocs
2018-05-04 16:00:02 +01:00
Richard Davey
6d83cae2dc
The Texture class has a new method getDataSourceImage
which will return the raw image data of the data source.
2018-05-04 14:33:02 +01:00
Richard Davey
97dd683ea1
The Forward Diffuse Light Pipeline was hard coded to assume the normal map would be stored in the source index zero. It now correctly obtains the normal map from the frame source index, which means all Game Objects that used frames from multi-atlas textures will now work with lights properly.
2018-05-04 14:31:19 +01:00
Richard Davey
82591113bd
Updated change log
2018-05-04 02:36:53 +01:00
Richard Davey
107ca71d6b
BitmapText, both static and dynamic, can now take any data-type, including numbers, for the text
argument in the constructor. Before they only worked via setText
2018-05-03 15:52:12 +01:00
Richard Davey
ab303f0f1f
Updated change log
2018-05-03 00:36:37 +01:00
Richard Davey
28251fd0f5
addToScene
added to all Game Object Creators
2018-05-02 10:57:26 +01:00
Richard Davey
a14ce15685
Fixed setActive and setVisible
2018-05-01 12:35:56 +01:00
Richard Davey
e1532b3154
The Scene Systems will emit a ready
event when it has fully finished starting up and all plugins are available. Fix #3636
2018-05-01 12:22:18 +01:00
Richard Davey
5d3c06d8b7
ScenePlugin.getIndex will return the index of the given Scene in the Scene List.
2018-05-01 01:23:19 +01:00
Richard Davey
63dbd9fd12
The Animation Component setProgress
method was setting the frame on the wrong object. Fix #3633
2018-04-30 12:37:50 +01:00
Richard Davey
fbb6143f81
Updated change log
2018-04-30 12:28:33 +01:00
Richard Davey
9a974514ff
Added new LinkFile class and updated other file types to use it.
2018-04-27 18:44:12 +01:00
Richard Davey
ef136f684d
Polygon.setTo would fail if given an array of arrays as a list of points. Fix #3619
2018-04-26 15:55:27 +01:00
Richard Davey
65c54f4b8d
Array.AddAt would fail if it branched to the fast-path within a Container due to an invalid property. Fix #3617
2018-04-26 15:44:56 +01:00
Richard Davey
b421499b89
Updated log
2018-04-26 13:05:57 +01:00
Richard Davey
b4ddfe3181
Updated log
2018-04-26 13:05:00 +01:00
Richard Davey
103e0c8727
Updated RandomDataGenerator.shuffle to remove several internal calls as min is always zero
2018-04-26 13:02:13 +01:00
Richard Davey
038bbcc7bc
Fixed the remaining file types.
2018-04-25 23:16:17 +01:00
Richard Davey
d258fc30e9
Change log udpated
2018-04-25 17:16:46 +01:00
Richard Davey
8bdeb69716
Updated change log
2018-04-23 23:53:04 +01:00
Richard Davey
6c3ed1e455
Updated change log
2018-04-23 23:47:14 +01:00
Richard Davey
ced2d34b34
BitmapMask and GeometryMask both have new destroy
methods which clear their references, freeing them for gc.
2018-04-23 00:13:04 +01:00
Richard Davey
a7651349f0
Updated change log
2018-04-22 23:10:14 +01:00
Richard Davey
445439e253
The Texture Manager will now emit an addtexture
event whenever you add a new texture to it, which includes when you load images files from the Loader (as it automatically populates the Texture Manager). Once you receive an addtexture
event you know the image is loaded and the texture is safe to be applied to a Game Object.
2018-04-20 18:57:23 +01:00
Richard Davey
1185586b23
Web Audio context.close now picks up the Promise.
2018-04-20 14:01:57 +01:00
Richard Davey
e3aa437340
DataManagerPlugin would throw an error on Game.destroy if you had any Scenes in the Scene Manager had not been run. Fix #3596
2018-04-20 13:34:45 +01:00
Richard Davey
4018d6ab39
Added require.extensions and eslint rule. Fix #3598
2018-04-20 01:10:04 +01:00
Richard Davey
6299019838
Updated to use typeof DefinePlugin check.
2018-04-20 00:23:24 +01:00
Richard Davey
fc4fdc4e3c
Preparing for 3.6.1
2018-04-19 22:47:10 +01:00
Richard Davey
75b250ba5b
3.6.0 Release
2018-04-19 14:45:54 +01:00
Richard Davey
cfc4528370
Containers no longer in beta.
2018-04-19 14:35:17 +01:00
Richard Davey
305ffdf840
Updated change log
2018-04-19 14:28:22 +01:00
Richard Davey
3d0be3e20c
Group.remove and clear have optional destroyChild
arguments
2018-04-19 14:13:46 +01:00
Richard Davey
176b085402
jsdoc fix
2018-04-19 13:28:10 +01:00
Richard Davey
f2c629c588
Updated change log
2018-04-18 22:46:49 +01:00
Richard Davey
f57ab02fe6
Recoded how RTree generations its functions. Solves perf issue introduced in 3.4 Fix #3594
2018-04-18 22:32:52 +01:00
Richard Davey
c391662faa
Updated log and changed version
2018-04-18 13:29:15 +01:00
Richard Davey
6772a548dc
Preparing for 3.6.0
2018-04-17 20:55:47 +01:00
Richard Davey
765730c4b6
3.5.1 Release
2018-04-17 20:51:31 +01:00
Richard Davey
152a01731b
Updated log
2018-04-17 18:17:50 +01:00
Richard Davey
89c9da54ac
Added more contributors
2018-04-17 17:04:43 +01:00
Richard Davey
8eef87b858
Log update
2018-04-17 16:00:02 +01:00
Richard Davey
d8c519c88c
Updated change log
2018-04-17 02:37:56 +01:00
Richard Davey
07a55e5d1f
Removed debug call and merged Scene Systems boot and start sequences. Fix #3579
2018-04-17 02:34:07 +01:00
Richard Davey
1eff0b2889
Phaser 3.5.0 Build
2018-04-16 19:44:39 +01:00
Richard Davey
5ccac599a6
Updated docs and destroy properties
2018-04-16 17:14:12 +01:00
Richard Davey
b28a7276f4
Fixed Game.destroy
2018-04-16 17:02:32 +01:00
Richard Davey
c37c6365d3
The RandomDataGenerator class is now exposed under Phaser.Math should you wish to instantiate it yourself. Fix #3576
2018-04-16 16:07:52 +01:00
Richard Davey
ccb2ed5f50
Updated change log
2018-04-15 23:45:59 +01:00
Richard Davey
ccf72228e3
Updated change log
2018-04-15 23:34:01 +01:00
Richard Davey
e8d50a9796
Explained changes to cameras
2018-04-15 13:00:43 +01:00
Richard Davey
ce7d67297f
Moving from 3.4.1 to 3.5.0 so we can release new camera fx and scene transitions
2018-04-15 12:44:47 +01:00
Richard Davey
02be81cc48
Merge branch 'master' of https://github.com/photonstorm/phaser
2018-04-15 05:05:09 +01:00
Richard Davey
ae603240e1
Camera.cullHitTest has been removed. It was never used internally and duplicates the code in Camera.cull
.
2018-04-15 04:01:39 +01:00
Pavle Goloskokovic
8b2473104e
Fixes #3309
2018-04-14 19:04:50 +02:00
Richard Davey
06e5fc0336
Camera extends Event Emitter and moved to effect based system
2018-04-14 12:35:14 +01:00
Richard Davey
b5ba6a6afb
Added enabled property
2018-04-14 04:23:11 +01:00
Richard Davey
a01535ea78
Group.add and Group.addMultiple now respect the Group.maxSize property, stopping you from over-populating a Group.
2018-04-13 17:59:29 +01:00
Richard Davey
f53430ec54
Log update
2018-04-13 17:52:28 +01:00
Richard Davey
7aad8afa02
Log update
2018-04-13 17:21:34 +01:00
Richard Davey
59bc9dd0d9
Added GameObject.ignoreDestroy
2018-04-13 17:20:46 +01:00
Richard Davey
6b2307594a
Scene plugin flow overhaul
...
Every Plugin has been updated to correctly follow the same flow through the Scene lifecycle. Instead of listening for the Scene 'boot' event, which is only dispatched once (when the Scene is first created), they will now listen for the Scene 'start' event, which occurs every time the Scene is started. All plugins now consistently follow the same Shutdown and Destroy patterns too, meaning they tidy-up after themselves on a shutdown, not just a destroy. Overall, this change means that there should be less issues when returning to previously closed Scenes, as the plugins will restart themselves properly.
2018-04-13 17:12:17 +01:00
Richard Davey
c8bbea552d
Fixed issue in HTMLAudioSound where mute
would get into a recursive loop.
2018-04-13 12:53:03 +01:00
Richard Davey
623df29522
The Scene Manager would never reach an isBooted
state if you didn't add any Scenes into the Game Config. Fix #3553
2018-04-13 12:24:02 +01:00
Richard Davey
a193210171
Log update
2018-04-13 12:16:21 +01:00
Richard Davey
e99f2e78e4
Updated log
2018-04-13 12:10:03 +01:00
Richard Davey
8afa6c9c7f
MatterEvents.off() would cause a TypeError if you destroyed the Matter world. Fix #3562
2018-04-13 12:07:27 +01:00