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
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