This commit is contained in:
Richard Davey 2024-08-06 22:48:54 +01:00
commit 5aaa5ec601
No known key found for this signature in database
2 changed files with 17 additions and 5 deletions

View file

@ -1391,7 +1391,11 @@ var Text = new Class({
linePositionY = Math.round(linePositionY);
}
if (style.strokeThickness)
var letterSpacing = this.letterSpacing;
// Apply stroke to the whole line only if there's no custom letter spacing
if (style.strokeThickness && letterSpacing === 0)
{
style.syncShadow(context, style.shadowStroke);
@ -1404,8 +1408,6 @@ var Text = new Class({
// Looping fillText could be an expensive operation, we should ignore it if it is not needed
var letterSpacing = this.letterSpacing;
if (letterSpacing !== 0)
{
var charPositionX = 0;
@ -1415,6 +1417,15 @@ var Text = new Class({
// Draw text letter by letter
for (var l = 0; l < line.length; l++)
{
if (style.strokeThickness)
{
style.syncShadow(context, style.shadowStroke);
context.strokeText(line[l], linePositionX + charPositionX, linePositionY);
style.syncShadow(context, style.shadowFill);
}
context.fillText(line[l], linePositionX + charPositionX, linePositionY);
charPositionX += context.measureText(line[l]).width + letterSpacing;

View file

@ -1322,10 +1322,11 @@ var SceneManager = new Class({
*
* @param {(string|Phaser.Scene)} from - The Scene to sleep.
* @param {(string|Phaser.Scene)} to - The Scene to start.
* @param {object} [data] - Optional data object to pass to `Scene.Settings` and `Scene.init`, and `Scene.create`. It is only passed when the scene starts for the first time.
*
* @return {this} This Scene Manager instance.
*/
switch: function (from, to)
switch: function (from, to, data)
{
var sceneA = this.getScene(from);
var sceneB = this.getScene(to);
@ -1340,7 +1341,7 @@ var SceneManager = new Class({
}
else
{
this.start(to);
this.start(to, data);
}
}