Preparing for v3.80 release

This commit is contained in:
Richard Davey 2024-02-21 13:31:13 +00:00
parent c1e61e6421
commit 5a12f2a193
8 changed files with 302340 additions and 300668 deletions

View file

@ -5,8 +5,8 @@ tasks:
command: npm run watch
- init: >
cd ../ &&
git clone https://github.com/photonstorm/phaser3-examples.git &&
cd phaser3-examples &&
git clone https://github.com/phaserjs/examples.git &&
cd examples &&
npm install && npm start
ports:
- port: 8080

View file

@ -6,7 +6,7 @@ Please select a version to read that specific change log:
| Version | Name | Release Date |
| ------- | ---- | ------------ |
| [3.80](changelog/3.80/CHANGELOG-v3.80.md) | Nino | in beta |
| [3.80](changelog/3.80/CHANGELOG-v3.80.md) | Nino | 21st February 2024 |
| [3.70](changelog/3.70/CHANGELOG-v3.70.md) | Yotsuba | 10th November 2023 |
| [3.60](changelog/3.60/CHANGELOG-v3.60.md) | Miku | 12th April 2023 |
| [3.55.2](changelog/3.55.2/CHANGELOG-v3.55.2.md) | Ichika | 27th May 2021 |

View file

@ -1,6 +1,6 @@
The MIT License (MIT)
Copyright (c) 2020 Richard Davey, Photon Storm Ltd.
Copyright (c) 2024 Richard Davey, Phaser Studio Inc.
Permission is hereby granted, free of charge, to any person obtaining a copy of
this software and associated documentation files (the "Software"), to deal in

View file

@ -1,13 +1,8 @@
# Version 3.80.0 - Nino - in dev
# Version 3.80.0 - Nino - 21st February 2024
# New Features
# New Features - WebGL Context Loss Handling
* Phaser now performs a [WebGL Context Restore](WebGLContextRestore.md) to keep the game running after losing WebGL context. This affects many parts of the rendering system, but everything should work just the same unless you're doing something very technical. See the link for more details.
* The Scale Manager has a new scale mode called `EXPAND`. This is inspired by the Expand mode in Godot: "Keep aspect ratio when stretching the screen, but keep neither the base width nor height. Depending on the screen aspect ratio, the viewport will either be larger in the horizontal direction (if the screen is wider than the base size) or in the vertical direction (if the screen is taller than the original size)" (thanks @rexrainbow)
* The `Tilemap.createFromTiles` method has been updated. It will now copy the following properties, if set in the Tile, to the Sprites it creates: `rotation`, `flipX`, `flipY`, `alpha`, `visible` and `tint`. If these properties are declared in the `spriteConfig` passed to the method, those will be used instead, otherwise the Tile values are used. Fix #6711 (thanks @Nerodon)
* The `Tilemap.createFromTiles` method has a new property called `useSpriteSheet`. If this is set to `true` and you have loaded the tileset as a sprite sheet (not an image), then it will set the Sprite key and frame to match the sprite texture and tile index. Also, if you have not specified an `origin` in the spriteConfig, it will adjust the sprite positions by half the tile size, to position them accurately on the map.
* `Texture#getFrameBounds` is a new method that will return the bounds that all of the frames of a given Texture Source encompass. This is useful for things like calculating the bounds of a Sprite Sheet embedded within a Texture Atlas.
* `Math.RectangleLike` is a new typedef that defines a rectangle-like object with public `x`, `y`, `width` and `height` properties.
# New Feature - Base64 Loader
@ -26,6 +21,14 @@ The Game Config has a new Scale Manager property called `snap`. This allows you
* `ScaleManager.setSnap` is a new method that allows you to set the snap values for the game size, should you need to do it post-boot and not in the game config.
* `Config#snapWidth` and `Config#snapHeight` are new properties in the Game Config that hold the parsed `snap` config values, as used by the Scale Manager.
# New Features
* The Scale Manager has a new scale mode called `EXPAND`. This is inspired by the Expand mode in Godot: "Keep aspect ratio when stretching the screen, but keep neither the base width nor height. Depending on the screen aspect ratio, the viewport will either be larger in the horizontal direction (if the screen is wider than the base size) or in the vertical direction (if the screen is taller than the original size)" (thanks @rexrainbow)
* The `Tilemap.createFromTiles` method has been updated. It will now copy the following properties, if set in the Tile, to the Sprites it creates: `rotation`, `flipX`, `flipY`, `alpha`, `visible` and `tint`. If these properties are declared in the `spriteConfig` passed to the method, those will be used instead, otherwise the Tile values are used. Fix #6711 (thanks @Nerodon)
* The `Tilemap.createFromTiles` method has a new property called `useSpriteSheet`. If this is set to `true` and you have loaded the tileset as a sprite sheet (not an image), then it will set the Sprite key and frame to match the sprite texture and tile index. Also, if you have not specified an `origin` in the spriteConfig, it will adjust the sprite positions by half the tile size, to position them accurately on the map.
* `Texture#getFrameBounds` is a new method that will return the bounds that all of the frames of a given Texture Source encompass. This is useful for things like calculating the bounds of a Sprite Sheet embedded within a Texture Atlas.
* `Math.RectangleLike` is a new typedef that defines a rectangle-like object with public `x`, `y`, `width` and `height` properties.
# Spine Updates
* The Spine 3 and 4.1 Plugins will now call `preUpdate` automatically when the `play` method is called. This forces the new animation state to update and apply itself to the skeleton. This fixes an issue where Spine object would show the default frame in the Spine atlas for a single update before the animation started. Fix #5443 (thanks @spayton)

View file

@ -1,8 +1,8 @@
{
"name": "phaser",
"version": "3.80.0-beta.3",
"version": "3.80.0",
"release": "Nino",
"description": "A fast, free and fun HTML5 Game Framework for Desktop and Mobile web browsers.",
"description": "A fast, free and fun HTML5 Game Framework for Desktop and Mobile web browsers from the team at Phaser Studio Inc.",
"author": "Richard Davey <rich@phaser.io> (https://www.phaser.io)",
"homepage": "https://phaser.io",
"bugs": "https://github.com/phaserjs/phaser/issues",

View file

@ -20,7 +20,7 @@ var CONST = {
* @type {string}
* @since 3.0.0
*/
VERSION: '3.80.0-beta.3',
VERSION: '3.80.0',
BlendModes: require('./renderer/BlendModes'),

33216
types/phaser.d.ts vendored

File diff suppressed because it is too large Load diff

File diff suppressed because one or more lines are too long