Richard Davey
a77976bff2
* InputPlugin.forceDownState
is a new method that will force the given Game Object into the 'down' input state, regardless of what state it is currently in. This will emit the relevant events accordingly. * InputPlugin.forceUpState
is a new method that will force the given Game Object into the 'up' input state, regardless of what state it is currently in. This will emit the relevant events accordingly. * InputPlugin.forceOverState
is a new method that will force the given Game Object into the 'over' input state, regardless of what state it is currently in. This will emit the relevant events accordingly. * InputPlugin.forceOutState
is a new method that will force the given Game Object into the 'out' input state, regardless of what state it is currently in. This will emit the relevant events accordingly. * InputPlugin.forceState
is a new internal method that forces a Game Object into the given state.
2024-08-07 19:45:44 +01:00
Richard Davey
6102492c14
InputPlugin.setCursor
is a new method that will immediately set the CSS cursor to the given Interactive Objects cursor. Previously, this was hidden behind a private method in the Input Manager.
2024-08-07 19:14:54 +01:00
Richard Davey
a5d465cb19
Multiple updates. See description.
...
The `InputPlugin.isActive` method will now check if the InputPlugin has the InputManager reference set, and if that is also enabled, as well as checking its own enabled state and that of the Scene.
`InputPlugin.resetCursor` is a new method that will reset a custom CSS cursor from the main canvas, regardless of the interactive state of any Game Objects.
The `InputPlugin.disable` method has a new optional boolean parameter `resetCursor` which will reset the CSS custom cursor if true.
All of the core Input Plugin process methods have been rewritten. The methods that have changed are:
* `InputPlugin.processMoveEvents`
* `InputPlugin.processWheelEvent`
* `InputPlugin.processOverEvents`
* `InputPlugin.processOutEvents`
* `InputPlugin.processOverOutEvents`
* `InputPlugin.processUpEvents`
* `InputPlugin.processDownEvents`
And they all now do the following flow:
1) They will now iterate over the array of objects to be inspected. If the object doesn't have an input handler, or their handler has been disabled, they are skipped for event consideration.
2) If they have an input handler, the Game Object specific event is dispatched (i.e. `sprite.on('pointerdown')`)
3) The result of this call is checked. If the Event has been cancelled, or if the Input Plugin now returns `isActive() false` then it will break from the handler loop. This will only happen if the user explicitly tells the event to stop propogation, or if they disable either the Input Plugin, or the entire Input Manager, during the event handler. Previously, only the state of cancelled event was checked. Also previously, if the Game Objects own input handler was removed or disabled as a result of their event handler, it would break from the process loop. This no longer happens. It will carry on inspecting the remaining interactive objects in the loop, as long as the Input system itself wasn't disabled.
4) After this, the Game Object is checked to see if it is still input enabled. If it is, the Scene level events, like `this.input.on('gameobjectdown')` are emitted.
5) The results of this call are also checked. Again, if the Event has been cancelled, or if the Input Plugin now returns `isActive() false` then it will break from the handler loop, otherwise it carries on.
6) After the loop is complete it does one final check to see if the Event was cancelled, or if the Input Plugin is no longer active. If both of those pass, it emits the final event from the Input Plugin itself (i.e. `this.input.on('pointerdown')` from a Scene)
2024-08-07 19:00:05 +01:00
Richard Davey
2a05c49d9e
The InputManager.resetCursor
method has a new optional boolean forceReset
which will reset the state of the CSS canvas cursor, regardless if there is a given Interactive Object, or not.
2024-08-07 18:36:54 +01:00
Richard Davey
5b972ae38a
Added resetCursor boolean to disableInteractive and removeInteractive methods
2024-08-07 18:36:02 +01:00
Richard Davey
8abcd2a610
Clarify documentation. Fix #6839
2024-08-07 15:48:56 +01:00
Richard Davey
7fd6b6fdf8
LoaderPlugin.maxRetries
is a new property that holds the number of times to retry loading a single file before it fails.
2024-08-07 15:43:43 +01:00
Richard Davey
ca4e2da432
loader.maxRetries
is a new Game Config option to set the number of retries a file will attempt to load. The default is 2.
2024-08-07 15:43:25 +01:00
Richard Davey
4021fa50fa
FileConfig.maxRetries
is a new File Config option to set the number of retries a file will attempt to load. If not specified in the config, the value is read from the LoaderPlugin.maxRetries
property.
2024-08-07 15:43:11 +01:00
Richard Davey
0a7df76c3f
Loader.File.retryAttempts
is the internal property holding the counter for the number of times to retry loading this file before it fails. This value is decreased after each attempt. When it reaches zero, the file is considered as failed.
2024-08-07 15:42:57 +01:00
Richard Davey
13035a6718
If you had a sprite on the display list using the LightPipeline, followed by a Mesh using the LightPipeline, and you invalidated the mesh (i.e. by rotating it), it would cause a runtime error in the current batch. Fix #6822
2024-08-06 23:59:42 +01:00
Richard Davey
f434449dd8
The PreFXPipeline.batchQuad
method will now apply Math.round
to the target bounds center point. This prevents sub-pixel values during the copyTextSubImage2D
call, preventing sprites with pre-fx from appearing mis-aligned during camera pans. Fix #6879
2024-08-06 23:27:34 +01:00
Richard Davey
6acd415d16
Don't round the midPoint, or it breaks high zoom scrolling. Fix #6878
2024-08-06 23:01:33 +01:00
Richard Davey
5aaa5ec601
Merge branch 'master' of https://github.com/phaserjs/phaser
2024-08-06 22:48:54 +01:00
Richard Davey
24125ef4d9
Update Config.js
2024-08-06 22:48:49 +01:00
Richard Davey
8ef75453d0
Merge pull request #6876 from wooseok123/wooseok123-feat-switch
...
feat : add data argument in Scene.switch
2024-08-06 21:57:28 +01:00
Richard Davey
1624312aea
Merge pull request #6883 from RomanFrom710/6880-text-with-stroke-and-letter-spacing-issue
...
Apply stroke letter by letter if there is custom letter spacing
2024-08-06 21:54:21 +01:00
Richard Davey
50196f4958
Disable autoResize flag. The size a DynamicTexture is created at is the size it should remain forever.
2024-08-06 18:58:31 +01:00
Richard Davey
c81c6cecc8
Remove the requirement for autoResize to be set, so anyone can resize a RenderTarget
2024-08-06 18:58:12 +01:00
Richard Davey
d4d6a4c308
Beta 3 tag
2024-08-06 18:41:11 +01:00
Roman Chaley
cdefe1f68c
Apply stroke letter by letter if there is custom letter spacing
2024-08-04 16:11:37 +02:00
zekechan
cc0bac0214
Removed empty line spacing added when text is undefined. Fix #6807
2024-07-30 13:40:53 +08:00
Richard Davey
a3470a08e5
Updated rounding to use Math.floor + 0.5
2024-07-28 14:56:53 +01:00
Wooseok Han
8a52c00cad
feat : add data argument in Scene.switch
2024-07-26 13:25:07 +09:00
Richard Davey
f519c582c7
Fixed jsdocs
2024-07-23 16:58:57 +01:00
Richard Davey
49456a08b8
Merge pull request #6870 from samme/feature/timestep-pauseDuration-2
...
Pass pauseDuration 0 in `Phaser.Core.Events#RESUME` after manual game resume
2024-07-23 16:53:01 +01:00
Richard Davey
412d0e5b71
Merge pull request #6869 from samme/docs/scene-events
...
Docs: correct args in some scene events
2024-07-23 16:52:33 +01:00
Richard Davey
abf857d949
The Texture.getFrameBounds
method will now include the BASE texture in its calculations. This prevents it from returning a size of Infinity. This fixes an issue where a Tileset with margin/spacing loaded via load.spritesheet
instead of load.image
would have its margin and spacing ignored. Fix #6823
2024-07-23 16:39:49 +01:00
Richard Davey
ee2110c062
Removed debugging info.
2024-07-23 16:38:07 +01:00
Richard Davey
0d32e7bcbc
Fixed jsdoc
2024-07-23 15:48:54 +01:00
Zeke Chan
994389d041
Merge pull request #6816 from jacklehamster/master
...
Add PR to fix null pointer exception.
2024-07-23 16:52:37 +08:00
Zeke Chan
54e555d56a
Revert " #6816 Phaser.GameObjects.Components.FX#add fix null pipeline pointer"
...
This reverts commit 389e2af60f
.
2024-07-23 16:51:45 +08:00
Zeke Chan
389e2af60f
#6816 Phaser.GameObjects.Components.FX#add fix null pipeline pointer
2024-07-23 16:50:00 +08:00
Richard Davey
6c02206a90
Debugging tile spacing
2024-07-22 19:03:57 +01:00
Richard Davey
52085dba91
Don't call setTileSize or setSpacing unless values are given
2024-07-22 19:03:11 +01:00
samme
96bae29e62
Pass pauseDuration 0 for manual resume
2024-07-21 07:36:24 -07:00
Richard Davey
dc27d377f2
Include version in gameURL
2024-07-19 17:01:30 +01:00
Zeke Chan
5d74999620
Fixed "undefined" style bug causing crashes
2024-07-19 11:06:23 +08:00
samme
a98f1f5713
Docs: correct args in some scene events
2024-07-18 19:03:08 -07:00
Richard Davey
99260d2174
DynamicTexture now creates a Camera instance, not a BaseCamera
2024-07-18 21:21:33 +01:00
Richard Davey
14429786a0
Merge pull request #6867 from samme/feature/timestep-pauseDuration
...
Add TimeStep#pauseDuration, pass in Phaser.Core.Events#RESUME
2024-07-18 20:34:57 +01:00
samme
2824185784
Add TimeStep#pauseDuration
...
Pass in Phaser.Core.Events#RESUME
2024-07-17 18:57:03 -07:00
zekechan
4332448e9f
Moved errors
description above @ignore tag
2024-07-17 23:32:12 +08:00
zekechan
3658cd145f
Updated default location
property from literal -1
to type number
2024-07-17 23:31:48 +08:00
zekechan
5ddd3bf8a2
Removed duplicate localScheme
property
2024-07-17 23:30:53 +08:00
zekechan
f218a1bca2
Fix #6768 Tweens in a looping chain fire onStart only once
2024-07-17 15:35:06 +08:00
zekechan
112ca0dbf1
Fix #6773 Tweens in a chain fire onActive twice per chain iteration
2024-07-17 10:55:58 +08:00
Richard Davey
26d85978d2
Apply Math.floor across all camera values during preRender
2024-07-16 23:18:31 +01:00
Richard Davey
2fc8f5b3f9
Floor, not round
2024-07-16 23:17:40 +01:00
Richard Davey
40224d7c25
Removed BaseCamera.preRender method as it isn't used (overriden by Camera.preRender)
2024-07-16 22:59:47 +01:00