Commit graph

19778 commits

Author SHA1 Message Date
Richard Davey
c308c430c3
The NineSlice Game Object will now guard against an invalid texture by checking for the frame and textureFrame vars before trying to read values from them. Fix #6804 2024-09-02 22:40:41 +01:00
Richard Davey
3041dabe9e
Update CHANGELOG-v3.85.md 2024-09-02 22:34:34 +01:00
Richard Davey
fcd0f7180c
The Mesh WebGLRenderer will now recalculate the vertexOffset correctly if the batch flushes, fixing an issue where it would display missing triangles in a mesh after a batch flush. Fix #6814 2024-09-02 22:34:29 +01:00
Richard Davey
0c8f613087
Update CHANGELOG-v3.85.md 2024-09-02 22:02:59 +01:00
Richard Davey
98ea091edc
Video.getFirstFrame is a new method that can be used to load the first frame of the Video into its texture without starting playback. This is useful if you want to display the first frame of a video behind a 'Play' button, without calling the 'play' method. Fix #6695 2024-09-02 22:02:55 +01:00
Richard Davey
85d64d77a4
Removed incorrect docs. Fix #6760 2024-09-02 21:20:41 +01:00
Richard Davey
5cc02afbd4 Update Config.js 2024-09-02 18:58:30 +01:00
Richard Davey
0febaddb10 Update CHANGELOG-v3.85.md 2024-09-02 18:27:13 +01:00
Richard Davey
ee426c9ae4 If you set a WebAudioSound to loop and set SoundManager.pauseOnBlur = false, then if you start the sound and tab away from Phaser, the sound wouldn't then loop on return to the game, if the loop _expired_ while the tab was out of focus. This was due to checking the audio source node target against the wrong internal property. Fix #6702 2024-09-02 18:27:10 +01:00
Richard Davey
513e8b5429 Update RenderConfig.js 2024-09-02 16:10:24 +01:00
Richard Davey
1e07586acc Fixed method names 2024-09-02 16:07:34 +01:00
Richard Davey
6170a21938 Remove use of PipelineConfig 2024-09-02 16:05:50 +01:00
zekechan
57db2cbe03 Update ScaleManager.js 2024-09-02 22:31:01 +08:00
zekechan
81434f0872 Update CHANGELOG-v3.85.md 2024-09-02 22:30:54 +08:00
zekechan
bb772f4c00 Update CHANGELOG-v3.85.md 2024-09-02 22:30:43 +08:00
Richard Davey
16efebae93 Update CHANGELOG-v3.85.md 2024-09-02 14:48:52 +01:00
Richard Davey
7e0f40492f Update CHANGELOG-v3.85.md 2024-09-02 14:26:03 +01:00
Richard Davey
04f54b888a Fix getScene return type. Fix #6821 2024-09-02 14:26:00 +01:00
Richard Davey
abccbc9631 Update CHANGELOG-v3.85.md 2024-09-02 14:19:49 +01:00
Richard Davey
9eaf661a45 Added prerenderclear event to canvas and webgl 2024-09-02 14:18:32 +01:00
Richard Davey
426cbe2d95 Update CHANGELOG-v3.85.md 2024-09-02 14:08:22 +01:00
Richard Davey
dc783da844
Merge pull request #6898 from monteiz/master
Update TextStyle.js
2024-09-02 14:07:30 +01:00
Luca Fagioli
0cf92cba50
Update TextStyle.js 2024-09-02 11:06:01 +02:00
Zeke Chan
9f3afafb29 Fix #6885 leave fullscreen event fires twice 2024-09-02 13:58:15 +08:00
Richard Davey
c86b5b2528 Make Layer extend event emitter in the docs 2024-08-29 14:05:17 +01:00
Richard Davey
378838a011
All functions now call 'queueOp'.
Removed sound unlocking on load complete.
2024-08-25 22:35:39 +01:00
Richard Davey
53c491fb84
You can now pass a data argument to ScenePlugin.switch 2024-08-25 22:34:15 +01:00
Richard Davey
4003aa7f3e
Merge branch 'master' of https://github.com/phaserjs/phaser 2024-08-25 21:53:51 +01:00
Richard Davey
b3ccae9d8a
Update CHANGELOG-v3.85.md 2024-08-25 21:53:45 +01:00
Richard Davey
59ce761140
Calling Matter.World.pause would stop the world updating, but the Runner timeLastTick wasn't reset when resume was called, causing all the bodies to advance. The time is now reset correctly. Fix #6892 2024-08-25 21:53:37 +01:00
Richard Davey
683ae16522
Merge pull request #6890 from ospira/process-callback-fix
Allow ProcessCallback To Work When Dealing With Arcade Bodies That Do Not Have GameObjects
2024-08-25 21:29:03 +01:00
Richard Davey
ec753ae195
Merge pull request #6895 from Andrek25/fix/typos
fix(typedefs): fixing some typo error
2024-08-25 21:26:46 +01:00
Richard Davey
f424a48389
Merge pull request #6896 from samme/docs/move-above-below
Docs: clarify `moveAbove()`, `moveBelow()`
2024-08-25 21:26:00 +01:00
samme
7fd11d2e98 Docs: clarify moveAbove(), moveBelow() 2024-08-23 08:50:47 -07:00
Andres
8b24e73d3d fix(typedefs): fixing some typo error 2024-08-22 21:49:51 -04:00
ospira
fbfe657698 Update ArcadePhysicsCallback.js 2024-08-13 12:40:37 -04:00
ospira
b99ac68c34 Update ArcadePhysicsCallback.js 2024-08-13 12:29:10 -04:00
ospira
e321be2130 Update World.js 2024-08-13 11:56:38 -04:00
Richard Davey
48f3769e55
Update ArcadeColliderType.js 2024-08-12 17:09:06 +01:00
Richard Davey
43b3bf9a66 Update CHANGELOG-v3.85.md 2024-08-07 19:45:48 +01:00
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
043e90c87c Update CHANGELOG-v3.85.md 2024-08-07 19:16:22 +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
934ba71810 Update CHANGELOG-v3.85.md 2024-08-07 19:00:11 +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
0bffd9e087 Update CHANGELOG-v3.85.md 2024-08-07 15:48:59 +01:00
Richard Davey
8abcd2a610 Clarify documentation. Fix #6839 2024-08-07 15:48:56 +01:00
Richard Davey
cb468bd3ab Update CHANGELOG-v3.85.md 2024-08-07 15:43:48 +01:00