/** * 能量条经验值系统测试脚本 * 用于验证新的能量条升级配置是否正确加载和应用 */ console.log('=== 能量条经验值系统测试 ==='); // 测试1: 检查关卡配置中的能量条配置 function testLevelEnergyConfig() { console.log('\n1. 测试关卡配置中的能量条配置:'); // 测试加载Level1配置 cc.resources.load('data/levels/Level1', cc.JsonAsset, (err, asset) => { if (err) { console.error('❌ Level1配置加载失败:', err); return; } const config = asset.json; console.log('✓ Level1配置加载成功'); // 检查levelSettings if (config.levelSettings) { console.log('✓ levelSettings存在'); // 检查能量相关配置 if (config.levelSettings.energyMax) { console.log(`✓ energyMax: ${config.levelSettings.energyMax}`); } else { console.error('❌ energyMax配置缺失'); } if (config.levelSettings.energyExpValues) { console.log(`✓ energyExpValues配置存在,长度: ${config.levelSettings.energyExpValues.length}`); console.log(` 前5个值: [${config.levelSettings.energyExpValues.slice(0, 5).join(', ')}]`); } else { console.error('❌ energyExpValues配置缺失'); } if (config.levelSettings.energyMaxUpgrades) { console.log(`✓ energyMaxUpgrades配置存在,长度: ${config.levelSettings.energyMaxUpgrades.length}`); console.log(` 前5个值: [${config.levelSettings.energyMaxUpgrades.slice(0, 5).join(', ')}]`); } else { console.error('❌ energyMaxUpgrades配置缺失'); } } else { console.error('❌ levelSettings配置缺失'); } }); } // 测试2: 检查IN_game组件的能量系统属性 function testInGameEnergySystem() { console.log('\n2. 测试IN_game组件的能量系统属性:'); // 查找IN_game节点 const gameManagerNode = cc.find('GameManager'); if (!gameManagerNode) { console.error('❌ GameManager节点未找到'); return; } const inGameComponent = gameManagerNode.getComponent('IN_game'); if (!inGameComponent) { console.error('❌ IN_game组件未找到'); return; } console.log('✓ IN_game组件找到'); // 检查新增的属性(通过反射访问私有属性) try { const energyUpgradeCount = inGameComponent['energyUpgradeCount']; const energyExpValues = inGameComponent['energyExpValues']; const energyMaxUpgrades = inGameComponent['energyMaxUpgrades']; const currentEnergyExpRequired = inGameComponent['currentEnergyExpRequired']; console.log(`✓ energyUpgradeCount: ${energyUpgradeCount}`); console.log(`✓ energyExpValues长度: ${energyExpValues ? energyExpValues.length : '未定义'}`); console.log(`✓ energyMaxUpgrades长度: ${energyMaxUpgrades ? energyMaxUpgrades.length : '未定义'}`); console.log(`✓ currentEnergyExpRequired: ${currentEnergyExpRequired}`); if (energyExpValues && energyExpValues.length > 0) { console.log(` energyExpValues前5个值: [${energyExpValues.slice(0, 5).join(', ')}]`); } if (energyMaxUpgrades && energyMaxUpgrades.length > 0) { console.log(` energyMaxUpgrades前5个值: [${energyMaxUpgrades.slice(0, 5).join(', ')}]`); } } catch (e) { console.error('❌ 访问IN_game组件属性失败:', e); } } // 测试3: 模拟能量系统升级流程 function testEnergyUpgradeFlow() { console.log('\n3. 测试能量系统升级流程:'); const gameManagerNode = cc.find('GameManager'); if (!gameManagerNode) { console.error('❌ GameManager节点未找到'); return; } const inGameComponent = gameManagerNode.getComponent('IN_game'); if (!inGameComponent) { console.error('❌ IN_game组件未找到'); return; } try { // 获取当前状态 const initialEnergyPoints = inGameComponent['energyPoints']; const initialEnergyMax = inGameComponent['energyMax']; const initialUpgradeCount = inGameComponent['energyUpgradeCount']; const initialExpRequired = inGameComponent['currentEnergyExpRequired']; console.log('初始状态:'); console.log(` 能量值: ${initialEnergyPoints}`); console.log(` 能量最大值: ${initialEnergyMax}`); console.log(` 升级次数: ${initialUpgradeCount}`); console.log(` 当前需要经验值: ${initialExpRequired}`); // 模拟增加能量到满 console.log('\n模拟能量增加到满:'); for (let i = 0; i < initialExpRequired; i++) { if (inGameComponent.incrementEnergy) { inGameComponent.incrementEnergy(1); } } // 检查升级后状态 setTimeout(() => { const newEnergyPoints = inGameComponent['energyPoints']; const newEnergyMax = inGameComponent['energyMax']; const newUpgradeCount = inGameComponent['energyUpgradeCount']; const newExpRequired = inGameComponent['currentEnergyExpRequired']; console.log('升级后状态:'); console.log(` 能量值: ${newEnergyPoints}`); console.log(` 能量最大值: ${newEnergyMax}`); console.log(` 升级次数: ${newUpgradeCount}`); console.log(` 当前需要经验值: ${newExpRequired}`); if (newUpgradeCount > initialUpgradeCount) { console.log('✓ 能量系统升级成功!'); } else { console.error('❌ 能量系统升级失败'); } }, 100); } catch (e) { console.error('❌ 能量升级流程测试失败:', e); } } // 执行所有测试 function runAllTests() { console.log('开始执行能量条经验值系统测试...'); testLevelEnergyConfig(); setTimeout(() => { testInGameEnergySystem(); }, 1000); setTimeout(() => { testEnergyUpgradeFlow(); }, 2000); setTimeout(() => { console.log('\n=== 测试完成 ==='); }, 3000); } // 如果在Cocos Creator环境中运行 if (typeof cc !== 'undefined') { runAllTests(); } else { console.log('请在Cocos Creator控制台中运行此脚本'); }