From 062d95058327e56081e668f41a69926fd8072ca8 Mon Sep 17 00:00:00 2001 From: chicrobot Date: Tue, 10 Feb 2026 18:31:33 +0800 Subject: [PATCH] =?UTF-8?q?feat(SS)=20=E6=B7=BB=E5=8A=A0=E6=95=85=E4=BA=8B?= =?UTF-8?q?=E5=9C=BA=E6=99=AF=E5=85=B6=E4=BB=96=E5=86=85=E5=AE=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- main.js | 16 +++++++++++++--- scenes/storeScenes/Battle.js | 0 scenes/storeScenes/BreatheLife.js | 8 +++++--- scenes/storeScenes/Control.js | 26 ++++++++++++++++++++++++++ scenes/storeScenes/Farming.js | 0 scenes/storeScenes/InfoBar.js | 0 scenes/storeScenes/Terrain.js | 0 7 files changed, 44 insertions(+), 6 deletions(-) create mode 100644 scenes/storeScenes/Battle.js create mode 100644 scenes/storeScenes/Control.js create mode 100644 scenes/storeScenes/Farming.js create mode 100644 scenes/storeScenes/InfoBar.js create mode 100644 scenes/storeScenes/Terrain.js diff --git a/main.js b/main.js index becdaa8..cb34c21 100644 --- a/main.js +++ b/main.js @@ -50,13 +50,22 @@ import CharacterClassTestScene from './scenes/testScenes/CharacterClassTestScene 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 Farming from './scenes/storeScenes/Farming.js'; +// // 涿鹿之战,创建战斗系统 +// import Battle from './scenes/storeScenes/Battle.js'; +// // 大禹治水,创建地形系统 +// import Terrain from './scenes/storeScenes/Terrain.js'; // 创建游戏的最终配置对象 const config = { @@ -69,6 +78,7 @@ const config = { WorldTime, WorldLand, BreatheLife, + Control, // 测试场景 MenuScene, diff --git a/scenes/storeScenes/Battle.js b/scenes/storeScenes/Battle.js new file mode 100644 index 0000000..e69de29 diff --git a/scenes/storeScenes/BreatheLife.js b/scenes/storeScenes/BreatheLife.js index 1980f33..aa8cf9d 100644 --- a/scenes/storeScenes/BreatheLife.js +++ b/scenes/storeScenes/BreatheLife.js @@ -2,15 +2,17 @@ * BreatheLife 场景类 * * 交互场景,允许用户通过点击屏幕创建角色 - * 当创建的角色超过3个时,点击已存在的角色会为其设置纹理 - * 当设置纹理的角色超过3个时,自动切换到 MenuScene 场景 + * 第二次点击设置纹理 + * 第三次点击赋予动画 + * 第四次点击移动角色 + * 当移动角色超过3个后再次点击,切换到下一个场景 */ import WorldLand from './WorldLand.js' export default class BreatheLife extends WorldLand { constructor(sceneKey = 'BreatheLife') { // 场景相关 super(sceneKey) - this.nextScene = 'MenuScene' + this.nextScene = 'Control' // 层级相关 this.SpriteDepth = 10 // 角色层级 diff --git a/scenes/storeScenes/Control.js b/scenes/storeScenes/Control.js new file mode 100644 index 0000000..a736569 --- /dev/null +++ b/scenes/storeScenes/Control.js @@ -0,0 +1,26 @@ +/** + * Control 场景类 + * + * 允许用户控制角色 + */ +import BreatheLife from './BreatheLife.js' +export default class Control extends BreatheLife { + constructor(sceneKey = 'Control') { + // 场景相关 + super(sceneKey) + this.nextScene = 'InfoBar' + } + preload() { + super.preload() + } + create() { + super.create() + + // 覆盖场景切换条件 + this.initSceneTransition() + } + initSceneTransition() { + // 初始化角色计数器,用于跟踪创建的角色数量 + this.smallGrassObjects = [] // 维护小草集合 + } +} \ No newline at end of file diff --git a/scenes/storeScenes/Farming.js b/scenes/storeScenes/Farming.js new file mode 100644 index 0000000..e69de29 diff --git a/scenes/storeScenes/InfoBar.js b/scenes/storeScenes/InfoBar.js new file mode 100644 index 0000000..e69de29 diff --git a/scenes/storeScenes/Terrain.js b/scenes/storeScenes/Terrain.js new file mode 100644 index 0000000..e69de29