feat(main) 添加多场景,初始场景修改为BootScene

This commit is contained in:
chicrobot committed 2026-01-04 00:52:14 +08:00
1 parent 3c9b15eef7
commit db5a23f2c9
1 file changed
+35 -4
+35 -4
View File
@@ -1,19 +1,50 @@
// 导入游戏的基础配置文件,该文件包含游戏的宽度、高度、渲染模式等基本设置 // 导入游戏的基础配置文件,该文件包含游戏的宽度、高度、渲染模式等基本设置
import gameConfig from './config/gameConfig.js'; import gameConfig from './config/gameConfig.js';
// 导入游戏场景类,游戏的主要逻辑和玩法都在这个场景中实现 // 导入游戏场景类
import BootScene from './scenes/BootScene.js';
import GameScene from './scenes/GameScene.js'; import GameScene from './scenes/GameScene.js';
// 导入移动测试场景
import MovementTestScene1 from './scenes/MovementTestScene1.js';
import MovementTestScene2 from './scenes/MovementTestScene2.js';
import MovementTestScene3 from './scenes/MovementTestScene3.js';
import MovementTestScene4 from './scenes/MovementTestScene4.js';
import MovementTestScene5 from './scenes/MovementTestScene5.js';
import MovementTestScene6 from './scenes/MovementTestScene6.js';
// 导入物品系统测试场景
import ItemTestScene from './scenes/ItemTestScene.js';
// 创建游戏的最终配置对象 // 创建游戏的最终配置对象
const config = { const config = {
// 使用扩展运算符(...)将gameConfig中的所有配置项复制到当前对象中 // 使用扩展运算符(...)将gameConfig中的所有配置项复制到当前对象中
// 这相当于把gameConfig的内容合并到这个新的config对象里 // 这相当于把gameConfig的内容合并到这个新的config对象里
...gameConfig, ...gameConfig,
// 指定游戏使用的场景列表,这里只使用了一个GameScene场景 // 指定游戏使用的场景列表,包括主场景和所有测试场景
// 游戏可以有多个场景,比如开始菜单、游戏主界面、结束界面等 scene: [
scene: [GameScene] BootScene,
GameScene,
MovementTestScene1,
MovementTestScene2,
MovementTestScene3,
MovementTestScene4,
MovementTestScene5,
MovementTestScene6,
ItemTestScene
]
}; };
// 创建一个新的Phaser游戏实例,并将配置对象传入 // 创建一个新的Phaser游戏实例,并将配置对象传入
// 同时将游戏实例赋值给window.game,这样在浏览器的开发者工具中可以直接访问游戏实例 // 同时将游戏实例赋值给window.game,这样在浏览器的开发者工具中可以直接访问游戏实例
window.game = new Phaser.Game(config); window.game = new Phaser.Game(config);
// 添加一个函数,用于从控制台切换到测试场景
window.startMovementTest = function(sceneIndex = 1) {
const sceneKey = `MovementTestScene${sceneIndex}`;
if (window.game.scene.getIndex(sceneKey) !== -1) {
window.game.scene.start(sceneKey);
console.log(`已切换到测试场景${sceneIndex}`);
} else {
console.error(`测试场景${sceneIndex}不存在`);
}
};