Files
CINC/main.js
T

128 lines
5.1 KiB
JavaScript

// 导入游戏的基础配置文件,该文件包含游戏的宽度、高度、渲染模式等基本设置
import gameConfig from './config/gameConfig.js';
// 导入游戏场景类
import BootScene from './scenes/BootScene.js';
import GameScene from './scenes/GameScene.js';
// 测试场景
// 导入移动测试场景
import KeyboardMovementTestScene from './scenes/testScenes/KeyboardMovementTestScene.js';
import TargetMovementTestScene from './scenes/testScenes/TargetMovementTestScene.js';
import SelectionAndMovementTestScene from './scenes/testScenes/SelectionAndMovementTestScene.js';
import JoystickMovementTestScene from './scenes/testScenes/JoystickMovementTestScene.js';
import AutoMovementTestScene from './scenes/testScenes/AutoMovementTestScene.js';
import MiniMapTestScene from './scenes/testScenes/MiniMapTestScene.js';
// 导入物品系统测试场景
import ItemTestScene from './scenes/testScenes/ItemTestScene.js';
// 导入背包系统测试场景
import InventoryTestScene from './scenes/testScenes/InventoryTestScene.js';
// 导入物品列表菜单测试场景
import ItemListTestScene from './scenes/testScenes/ItemListTestScene.js';
// 导入资源包测试场景
import ResourceTestScene from './scenes/testScenes/ResourceTestScene.js';
// 导入地图编辑测试场景
import MapEditSinglePicTestScene from './scenes/testScenes/MapEditSinglePicTestScene.js';
// 导入角色动画测试场景
import CharacterAnimationTestScene from './scenes/testScenes/CharacterAnimationTestScene.js';
// 导入临时场景
import MapEditTestScene from './scenes/testScenes/MapEditTestScene.js';
// 导入种田功能测试场景
import FarmingTestScene from './scenes/testScenes/FarmingTestScene.js';
// 导入技能测试场景
import SkillTestScene from './scenes/testScenes/SkillTestScene.js';
// 导入攻击技能测试场景
import AttackSkillTestScene from './scenes/testScenes/AttackSkillTestScene.js';
// 导入迷雾测试场景
import FogOfWarTestScene from './scenes/testScenes/FogOfWarTestScene.js';
// 导入多点触控测试场景
import MultiTouchTestScene from './scenes/testScenes/MultiTouchTestScene.js';
// 导入菜单场景
import MenuScene from './scenes/MenuScene.js';
// 导入临时场景
import TmpScene from './scenes/TmpScene.js';
// 导入测试对象场景
import TestObjectsScene from './scenes/testScenes/TestObjectsScene.js';
// 导入角色类测试场景
import CharacterClassTestScene from './scenes/testScenes/CharacterClassTestScene.js';
// 导入武器测试场景
import WeaponTestScene from './scenes/testScenes/WeaponTestScene.js';
// 故事场景
// 开天辟地,创建场景
import PrimordialDevide from './scenes/storeScenes/PrimordialDevide.js';
// 日月山川,创建时间,地图、物品
import WorldTime from './scenes/storeScenes/WorldTime.js';
import WorldLand from './scenes/storeScenes/WorldLand.js';
// 女娲造人,创建角色
import BreatheLife from './scenes/storeScenes/BreatheLife.js';
// 伏羲画卦,创建角色控制与信息栏
import Control from './scenes/storeScenes/Control.js';
// import InfoBar from './scenes/storeScenes/InfoBar.js';
// // 钻木取火,添加合成系统
// import Synthesis from './scenes/storeScenes/Synthesis.js';
// // 神农百草,创建耕种系统
// import Farming from './scenes/storeScenes/Farming.js';
// // 涿鹿之战,创建战斗系统
// import Battle from './scenes/storeScenes/Battle.js';
// // 大禹治水,创建地形系统
// import Terrain from './scenes/storeScenes/Terrain.js';
// 创建游戏的最终配置对象
const config = {
// 使用扩展运算符(...)将gameConfig中的所有配置项复制到当前对象中
// 这相当于把gameConfig的内容合并到这个新的config对象里
...gameConfig,
// 指定游戏使用的场景列表,包括主场景和所有测试场景
scene: [
PrimordialDevide,
WorldTime,
WorldLand,
BreatheLife,
Control,
// 测试场景
MenuScene,
TmpScene,
WeaponTestScene,
CharacterClassTestScene,
TestObjectsScene,
BootScene,
GameScene,
KeyboardMovementTestScene,
TargetMovementTestScene,
SelectionAndMovementTestScene,
JoystickMovementTestScene,
AutoMovementTestScene,
MiniMapTestScene,
ItemTestScene,
InventoryTestScene,
ItemListTestScene,
ResourceTestScene,
MapEditSinglePicTestScene,
CharacterAnimationTestScene,
MapEditTestScene,
FarmingTestScene,
SkillTestScene,
AttackSkillTestScene,
FogOfWarTestScene,
MultiTouchTestScene
]
};
// 创建一个新的Phaser游戏实例,并将配置对象传入
// 同时将游戏实例赋值给window.game,这样在浏览器的开发者工具中可以直接访问游戏实例
window.game = new Phaser.Game(config);
// 添加一个函数,用于从控制台切换到测试场景
window.startTest = function(sceneIndex = 1) {
const scenes = window.game.scene.scenes;
if (sceneIndex >= 0 && sceneIndex < scenes.length) {
window.game.scene.start(scenes[sceneIndex]);
console.log(`已切换到测试场景${sceneIndex}`);
} else {
console.error(`测试场景${sceneIndex}不存在`);
}
};