Files
CINC/main.js
T

51 lines
1.9 KiB
JavaScript

// 导入游戏的基础配置文件,该文件包含游戏的宽度、高度、渲染模式等基本设置
import gameConfig from './config/gameConfig.js';
// 导入游戏场景类
import BootScene from './scenes/BootScene.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 = {
// 使用扩展运算符(...)将gameConfig中的所有配置项复制到当前对象中
// 这相当于把gameConfig的内容合并到这个新的config对象里
...gameConfig,
// 指定游戏使用的场景列表,包括主场景和所有测试场景
scene: [
BootScene,
GameScene,
MovementTestScene1,
MovementTestScene2,
MovementTestScene3,
MovementTestScene4,
MovementTestScene5,
MovementTestScene6,
ItemTestScene
]
};
// 创建一个新的Phaser游戏实例,并将配置对象传入
// 同时将游戏实例赋值给window.game,这样在浏览器的开发者工具中可以直接访问游戏实例
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}不存在`);
}
};