| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181 |
- /**
- * 能量条经验值系统测试脚本
- * 用于验证新的能量条升级配置是否正确加载和应用
- */
- 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控制台中运行此脚本');
- }
|