Project1

标题: 战斗结算MOG_BattleResult 的问题 [打印本页]

作者: douqunbo    时间: 2023-7-18 16:33
标题: 战斗结算MOG_BattleResult 的问题
如图所示,这个战斗美化插件是用的一张png图作为界面,底下默认是“新技能”,但如果当前升级没有新技能学习,那个位置就是空的,有什么办法加入字符(比如写一个“空”、“无”字)进去那个位置呢?
JAVASCRIPT 代码复制下载
  1. //=============================================================================
  2. // MOG_BattleResult.js
  3. //=============================================================================
  4.  
  5. /*:
  6. * @plugindesc (v1.1) Modifies the display screen.定制战斗结果显示界面
  7. * @author Moghunter
  8. *
  9. * @param Exp X-Axis
  10. * @desc X-Axis position of EXP.
  11. * @default 760
  12. *
  13. * @param Exp Y-Axis
  14. * @desc Y-Axis position of EXP.
  15. * @default 160
  16. *
  17. * @param Gold X-Axis
  18. * @desc Position X-Axis of Gold.
  19. * @default 760
  20. *
  21. * @param Gold Y-Axis
  22. * @desc Position Y-Axis of Gold.
  23. * @default 230
  24. *
  25. * @param Treasure -Axis
  26. * @desc X-Axis position of the tersouro.
  27. * @default 32
  28. *
  29. * @param Treasure Y-Axis
  30. * @desc Position Y-Axis of the treasure.
  31. * @default 330
  32. *
  33. * @param Actor X-Axis
  34. * @desc X-Axis character position.
  35. * @default 250
  36. *
  37. * @param Actor Y-Axis
  38. * @desc Position Y-Axis character.
  39. * @default 0
  40. *
  41. * @param Real X-Axis Parameter
  42. * @desc X-Axis position of the parameters.
  43. * @default 0
  44. *
  45. * @param Real Y-Axis Parameter
  46. * @desc Y-Axis position of the parameters.
  47. * @default 0
  48. *
  49. * @param Parameter 1 X-Axis
  50. * @desc X-Axis position of the parameters before the level-up.
  51. * @default 550
  52. *
  53. * @param Parameter 1 Y-Axis
  54. * @desc Y-Axis position of the parameters before the level-up.
  55. * @default 140
  56. *
  57. * @param Parameter 2 X-Axis
  58. * @desc X-Axis position of the parameters after the level-up.
  59. * @default 700
  60. *
  61. * @param Parameter 2 Y-Axis
  62. * @desc Y-Axis position of the parameters after the level-up.
  63. * @default 140
  64. *
  65. * @param New Skill X-Axis
  66. * @desc X-Axis position of the new ability.
  67. * @default 570
  68. *
  69. * @param New Skill Y-Axis
  70. * @desc Position Y-Axis of the new ability.
  71. * @default 520
  72. *
  73. * @param Name X-Axis
  74. * @desc Position X-Axis of the character's name.
  75. * @default 155
  76. *
  77. * @param Name Y-Axis
  78. * @desc Position Y-Axis of the character's name.
  79. * @default 540
  80. *
  81. * @help
  82. * ================================================================= ============================
  83. * +++ MOG - Battle Result (v1.1) +++
  84. * By Moghunter
  85. * [url]https://atelierrgss.wordpress.com/[/url]
  86. * ================================================================= ============================
  87. * Modifies the display screen.定制战斗结果显示界面
  88. * ================================================================= ============================
  89. * The files will be needed. (Img/system/)
  90. * (img/system需要以下图片文件:)
  91. * Result_A.png
  92. * Result_B.png
  93. * Result_C.png
  94. * Result_D.png
  95. * Result_E.png
  96. *
  97. * ================================================================= ============================
  98. * ACTOR PICTURE
  99. * ================================================================= ============================
  100. * Images should be saved in the /img/picture/
  101. * Name the images as follows.
  102. * (角色图片需保存在/img/picture目录下.命名格式如下:)
  103. * Actor_ ID
  104. *
  105. * Example(比如:)
  106. * Actor_1.png
  107. * Actor_2.png
  108. * Actor_3.png
  109. * ...
  110. *
  111. * ================================================================= ============================
  112. * HISTORIC
  113. * ================================================================= ============================
  114. * (V1.1) - Correction of not displaying the status window in the next battle.
  115. *
  116. * 更多翻译插件:[url]https://github.com/misuqian/MVPlugins-CN[/url]
  117. */
  118.  
  119. //=============================================================================
  120. // ** PLUGIN PARAMETERS
  121. //=============================================================================
  122.  
  123.   var Imported = Imported || {};
  124.   Imported.MOG_BattleResult = true;
  125.   var Moghunter = Moghunter || {};        
  126.         Moghunter.parameters = PluginManager.parameters('MOG_BattleResult');
  127.         Moghunter.bresult_exp_x = Number(Moghunter.parameters['Exp X-Axis'] || 760);
  128.     Moghunter.bresult_exp_y = Number(Moghunter.parameters['Exp Y-Axis'] || 160);
  129.         Moghunter.bresult_gold_x = Number(Moghunter.parameters['Gold X-Axis'] || 760);
  130.     Moghunter.bresult_gold_y = Number(Moghunter.parameters['Gold Y-Axis'] || 230);       
  131.         Moghunter.bresult_treasure_x = Number(Moghunter.parameters['Treasure X-Axis'] || 32);
  132.     Moghunter.bresult_treasure_y = Number(Moghunter.parameters['Treasure Y-Axis'] || 330);
  133.         Moghunter.bresult_actor_x = Number(Moghunter.parameters['Actor X-Axis'] || 250);
  134.     Moghunter.bresult_actor_y = Number(Moghunter.parameters['Actor Y-Axis'] || 0);       
  135.         Moghunter.bresult_par0_x = Number(Moghunter.parameters['Parameter Real X-Axis'] || 0);
  136.     Moghunter.bresult_par0_y = Number(Moghunter.parameters['Parameter Real Y-Axis'] || 0);               
  137.         Moghunter.bresult_par1_x = Number(Moghunter.parameters['Parameter 1 X-Axis'] || 550);
  138.     Moghunter.bresult_par1_y = Number(Moghunter.parameters['Parameter 1 Y-Axis'] || 140);       
  139.         Moghunter.bresult_par2_x = Number(Moghunter.parameters['Parameter 2 X-Axis'] || 700);
  140.     Moghunter.bresult_par2_y = Number(Moghunter.parameters['Parameter 2 Y-Axis'] || 140);               
  141.         Moghunter.bresult_skill_x = Number(Moghunter.parameters['New Skill X-Axis'] || 570);
  142.     Moghunter.bresult_skill_y = Number(Moghunter.parameters['New Skill Y-Axis'] || 520);               
  143.         Moghunter.bresult_name_x = Number(Moghunter.parameters['Name X-Axis'] || 155);
  144.     Moghunter.bresult_name_y = Number(Moghunter.parameters['Name Y-Axis'] || 540);
  145.  
  146.  
  147. //=============================================================================
  148. // ** Game Temp
  149. //=============================================================================
  150.  
  151. //==============================
  152. // ** Initialize
  153. //==============================
  154. var _mog_bresult_gtemp_initialize = Game_Temp.prototype.initialize;
  155. Game_Temp.prototype.initialize = function() {
  156.     _mog_bresult_gtemp_initialize.call(this);
  157.     this.battleResultClear()
  158. };
  159.  
  160. //==============================
  161. // ** battle Result Clear
  162. //==============================
  163. Game_Temp.prototype.battleResultClear = function() {
  164.         this._bResult = [false,[],0,0,[]];
  165.         this._battleEnd = false;
  166. };
  167.  
  168. //=============================================================================
  169. // ** Game Actor
  170. //=============================================================================
  171.  
  172. //==============================
  173. // ** display LevelUP
  174. //==============================
  175. var _mog_bresult_gact_displayLevelUp = Game_Actor.prototype.displayLevelUp;
  176. Game_Actor.prototype.displayLevelUp = function(newSkills) {
  177.         if ($gameTemp._bResult[0]) {
  178.                 $gameTemp._bResult[4] = newSkills;
  179.                 return;
  180.         };
  181.         _mog_bresult_gact_displayLevelUp.call(this,newSkills);
  182. };
  183.  
  184.  
  185. //=============================================================================
  186. // ** BattleManager
  187. //=============================================================================
  188.  
  189. //==============================
  190. // ** setup
  191. //==============================
  192. var _mog_brt_bmngr_setup = BattleManager.setup;
  193. BattleManager.setup = function(troopId, canEscape, canLose) {
  194.         _mog_brt_bmngr_setup.call(this,troopId, canEscape, canLose);
  195.         $gameTemp.battleResultClear();
  196. };
  197.  
  198. //==============================
  199. // ** process Victory
  200. //==============================
  201. BattleManager.processVictory = function() {
  202.         if (Imported.MOG_BattleCry) {
  203.             var actor = this.randomActor();
  204.         if (actor) {SoundManager.selectVoice(actor._v_victory)};       
  205.         };
  206.         AudioManager.fadeOutBgm(1);
  207.         $gameTemp._battleEnd = true;
  208.         $gameTemp._battleResult = true;
  209.         this.getResultData();
  210.     $gameParty.removeBattleStates();
  211.     $gameParty.performVictory();
  212.         this.endBattle(0);       
  213. };
  214.  
  215.  
  216. //==============================
  217. // ** get Result Data
  218. //==============================
  219. BattleManager.getResultData = function() {
  220.          this.makeRewards();
  221.      $gameTemp._bResult[0] = true;         
  222.          $gameTemp._bResult[1] = this._rewards.exp;
  223.          $gameTemp._bResult[2] = this._rewards.gold;
  224.          $gameTemp._bResult[3] = this._rewards.items;
  225.          $gameTemp._bResult[4] = [];
  226. };
  227.  
  228. //==============================
  229. // ** Update
  230. //==============================
  231. var _mog_bresult_update = BattleManager.update;
  232. BattleManager.update = function() {
  233.         if ($gameTemp._bResult[0]) {return};
  234.         _mog_bresult_update.call(this);
  235. };
  236.  
  237. //=============================================================================
  238. // ** Scene Battle
  239. //=============================================================================
  240.  
  241. //==============================
  242. // ** Terminate
  243. //==============================
  244. var _mog_bresult_terminate = Scene_Battle.prototype.terminate;
  245. Scene_Battle.prototype.terminate = function() {
  246.         _mog_bresult_terminate.call(this);
  247.         $gameTemp._bResult =  [false,[],0,0,[]];
  248. };
  249.  
  250. //==============================
  251. // ** Update
  252. //==============================
  253. var _mog_bresult_sbat_update = Scene_Battle.prototype.update;
  254. Scene_Battle.prototype.update = function() {
  255.         _mog_bresult_sbat_update.call(this);
  256.         if ($gameTemp._bResult[0]) {this.updateBResult()};
  257. };
  258.  
  259. //==============================
  260. // ** updateWindow Position
  261. //==============================
  262. var _mog_bresult_updateWindowPositions = Scene_Battle.prototype.updateWindowPositions;
  263. Scene_Battle.prototype.updateWindowPositions = function() {
  264.         _mog_bresult_updateWindowPositions.call(this);
  265.         if ($gameTemp._battleEnd) {
  266.                 this._statusWindow.opacity -= 10;
  267.             this._statusWindow.contentsOpacity -= 10;
  268.         };
  269. };
  270.  
  271. //==============================
  272. // ** Update BResult
  273. //==============================
  274. Scene_Battle.prototype.updateBResult = function() {
  275.         if (!this._bresult) {this.createBResult()};
  276. };
  277.  
  278. //==============================
  279. // ** createBresult
  280. //==============================
  281. Scene_Battle.prototype.createBResult = function() {
  282.         this._bresult = new BattleResult();
  283.         this.addChild(this._bresult);
  284. };
  285.  
  286. //=============================================================================
  287. // * Battle Result
  288. //=============================================================================
  289. function BattleResult() {
  290.     this.initialize.apply(this, arguments);
  291. };
  292.  
  293. BattleResult.prototype = Object.create(Sprite.prototype);
  294. BattleResult.prototype.constructor = BattleResult;
  295.  
  296. //==============================
  297. // * Initialize
  298. //==============================
  299. BattleResult.prototype.initialize = function() {
  300.     Sprite.prototype.initialize.call(this);       
  301.         if (BattleManager._spriteset && BattleManager._spriteset.combo_sprite_data) {
  302.                 BattleManager._spriteset.combo_sprite_data[0] = 1;
  303.         };
  304.         this._phase = 0;
  305.         this._actorIndex = 0;
  306.         this._skillIndex = 0;
  307.         this.z = 50;
  308.         this._actor = null;
  309.         this._actopar = [];
  310.         this._playME = 10;
  311.         this.phaseAniClear();
  312.         this._phaseAnime[0] = 1;
  313.         this._phaseAnime[1] = 60;
  314.         this._numbeData = [-1,-1];
  315.         this.loadImages();
  316.         this.createObjects();
  317. };
  318.  
  319. //==============================
  320. // * Phase Ani Clear
  321. //==============================
  322. BattleResult.prototype.phaseAniClear = function() {
  323.         this._phaseAnime = [0,0,0];
  324. };
  325.  
  326.  
  327. //==============================
  328. // * loadImages
  329. //==============================
  330. BattleResult.prototype.loadImages = function() {
  331.         this._icon_img = ImageManager.loadSystem("IconSet");
  332.         this._layout_img = ImageManager.loadSystem("Result_A");
  333.         this._number_img1 = ImageManager.loadSystem("Result_B");
  334.         this._number_img2 = ImageManager.loadSystem("Result_C");
  335.         this._layout2_img = ImageManager.loadSystem("Result_D");
  336.         this._vict_img = ImageManager.loadSystem("Result_E");
  337. };
  338.  
  339. //==============================
  340. // * Press Any Key
  341. //==============================
  342. BattleResult.prototype.pressAnyKey = function() {
  343.     if (TouchInput.isTriggered()) {return true};
  344.         if (TouchInput.isCancelled()) {return true};
  345.         if (Input.isTriggered("ok")) {return true};
  346.         if (Input.isTriggered("cancel")) {return true};
  347.     return false;
  348. };
  349.  
  350. //==============================
  351. // * Create Objects
  352. //==============================
  353. BattleResult.prototype.createObjects = function() {
  354.         this.createVict();
  355.         this.createLayout();
  356.         this.createExp();
  357.         this.createGold();
  358.         this.createTreasures();
  359. };
  360.  
  361. //==============================
  362. // * Create Vict
  363. //==============================
  364. BattleResult.prototype.createVict = function() {
  365.         this._vict = new Sprite(this._vict_img);
  366.         this._vict.opacity = 0;
  367.         this._vict.scale.x = 3.0;
  368.         this._vict.scale.y = 3.0;
  369.         this._vict.anchor.x = 0.5;
  370.         this._vict.anchor.y = 0.5;
  371.         this._vict.x = Graphics.boxWidth / 2;
  372.         this._vict.y = Graphics.boxHeight / 2;
  373.         this.addChild(this._vict);
  374. };
  375.  
  376. //==============================
  377. // * Create Layout
  378. //==============================
  379. BattleResult.prototype.createLayout = function() {
  380.         this._layout = new Sprite(this._layout_img);
  381.         this._layout.opacity = 0;
  382.         this._layout.scale.x = 3.0;
  383.         this._layout.anchor.x = 0.5;
  384.         this._layout.x = Graphics.boxWidth / 2;
  385.         this.addChild(this._layout);
  386. };
  387.  
  388. //==============================
  389. // * Create Exp
  390. //==============================
  391. BattleResult.prototype.createExp = function() {
  392.     this._expNumber = [];
  393.         this._expOld = 0;
  394.         this._expOrg = [Moghunter.bresult_exp_x,Moghunter.bresult_exp_y];
  395.         for (var i = 0; i < 8; i++) {
  396.            this._expNumber[i] = new Sprite(this._number_img1);
  397.            this._expNumber[i].visible = false;
  398.            this._expNumber[i].x = this._expOrg[0];
  399.            this._expNumber[i].y = this._expOrg[1];
  400.            this.addChild(this._expNumber[i]);
  401.         };               
  402.  
  403. };
  404.  
  405. //==============================
  406. // * Create Gold
  407. //==============================
  408. BattleResult.prototype.createGold = function() {
  409.     this._goldNumber = [];
  410.     this._goldNumber = [];
  411.         this._goldOld = 0;
  412.         this._goldOrg = [Moghunter.bresult_gold_x,Moghunter.bresult_gold_y];
  413.         for (var i = 0; i < 8; i++) {
  414.            this._goldNumber[i] = new Sprite(this._number_img1);
  415.            this._goldNumber[i].visible = false;
  416.            this._goldNumber[i].x = this._goldOrg[0];
  417.            this._goldNumber[i].y = this._goldOrg[1];
  418.            this.addChild(this._goldNumber[i]);
  419.         };       
  420. };
  421.  
  422. //==============================
  423. // * Add ICon
  424. //==============================
  425. BattleResult.prototype.addIcon = function(sprite,data) {
  426.         var icon = new Sprite(this._icon_img);
  427.         var w = Window_Base._iconWidth;
  428.         var h = Window_Base._iconHeight;
  429.         var sx = data.iconIndex % 16 * w;
  430.         var sy = Math.floor(data.iconIndex / 16) * h;
  431.     icon.setFrame(sx,sy,w,h);
  432.     sprite.addChild(icon);
  433.         var name = new Sprite(new Bitmap(160,32));
  434.         name.bitmap.drawText(data.name,0,0,160,32);
  435.         name.x = w + 4;
  436.         sprite.addChild(name);
  437. };
  438.  
  439. //==============================
  440. // * Create Treasures
  441. //==============================
  442. BattleResult.prototype.createTreasures = function() {
  443.         this._treasures = [];
  444.         var x = Moghunter.bresult_treasure_x;
  445.         var y = Moghunter.bresult_treasure_y;
  446.         var s = Graphics.boxWidth - 64;
  447.         var w = (s / 3);
  448.         var h = Window_Base._iconHeight + 4;
  449.         for (var i = 0; i < $gameTemp._bResult[3].length; i++) {
  450.               this._treasures[i] = new Sprite();
  451.                   this._treasures[i].opacity = 0;
  452.                   this.addChild(this._treasures[i]);
  453.                   var l = Math.floor(i / 3);
  454.                   this._treasures[i].x = x + (w * i) - Math.floor(l * s);
  455.                   this._treasures[i].y = y + (l * h);
  456.                   this.addIcon(this._treasures[i],$gameTemp._bResult[3][i]);
  457.         };      
  458. };
  459.  
  460. //==============================
  461. // * getData
  462. //==============================
  463. BattleResult.prototype.getData = function() {
  464.     this._numbeData[0] = this._number_img1.width / 10;
  465.     this._numbeData[1] = this._number_img1.height;
  466. };
  467.  
  468. //==============================
  469. // * Update Dif
  470. //==============================
  471. BattleResult.prototype.update_dif = function(value,real_value,speed) {
  472.         if (value == real_value) {return value};
  473.         var dnspeed = 1 + (Math.abs(value - real_value) / speed);
  474.         if (value > real_value) {value -= dnspeed;
  475.             if (value < real_value) {value = real_value};}
  476.     else if (value < real_value) {value  += dnspeed;
  477.             if (value  > real_value) {value  = real_value};               
  478.     };
  479.         return Math.floor(value);
  480. };
  481.  
  482. //==============================
  483. // * Refresh Number
  484. //==============================
  485. BattleResult.prototype.refresh_number = function(sprites,value,img_data,x,center) {
  486.     numbers = Math.abs(value).toString().split("");  
  487.            for (var i = 0; i < sprites.length ; i++) {sprites[i].visible = false;
  488.            if (i > numbers.length) {return};
  489.            var n = Number(numbers[i]);
  490.            sprites[i].setFrame(n * img_data[0], 0, img_data[0], img_data[1]);
  491.            sprites[i].visible = true;
  492.            if (center === 0) {
  493.                 var nx = -(img_data[0] * i) + (img_data[0] * numbers.length);
  494.            } else {
  495.                    var nx = -(img_data[0] * i) + ((img_data[0] / 2) * numbers.length);
  496.            };
  497.            sprites[i].x = x - nx;
  498.     };       
  499. };
  500.  
  501. //==============================
  502. // * Update
  503. //==============================
  504. BattleResult.prototype.update = function() {
  505.         Sprite.prototype.update.call(this);         
  506.         if (this._numbeData[0] === -1 && this._number_img1.isReady() && this._number_img2.isReady()) {this.getData()};
  507.         if (this._numbeData[0] === -1) {return};
  508.         if (this._phaseAnime[1] > 0) {this._phaseAnime[1] --;return};
  509.         if (this._playME > 0) {this.updateME()};
  510.     switch (this._phase) {
  511.                 case 0:
  512.             this.updateStart();
  513.             break;               
  514.         case 1:
  515.             this.updateExp();
  516.             break;
  517.         case 2:
  518.             this.updateGold();
  519.             break;
  520.         case 3:
  521.             this.updateTreasure();
  522.             break;
  523.         case 4:
  524.             this.updateLevel();
  525.             break;
  526.         case 5:
  527.             this.updateEnd();
  528.             break;                       
  529.         };
  530. };
  531.  
  532.  
  533. //==============================
  534. // * update ME
  535. //==============================
  536. BattleResult.prototype.updateME = function() {
  537.         this._playME --
  538.         if (this._playME === 0) {
  539.                 BattleManager.playVictoryMe();
  540.                 BattleManager.replayBgmAndBgs();       
  541.         };
  542. };
  543.  
  544. //==============================
  545. // * Update Start
  546. //==============================
  547. BattleResult.prototype.updateStart = function() {
  548.         if (this._phaseAnime[0] > 0) {
  549.         this.updateVictAnimation();
  550.     } else {
  551.         this.updateLayoutAnimation();
  552.         };
  553. };
  554.  
  555.  
  556. //==============================
  557. // * Update Layout Animation
  558. //==============================
  559. BattleResult.prototype.updateLayoutAnimation = function() {
  560.         this._layout.opacity += 5;
  561.         if (this._layout.scale.x > 1.00) {
  562.                 this._layout.scale.x -= 0.05;
  563.                 if (this._layout.scale.x < 1.00) {this._layout.scale.x = 1.00};
  564.         } else {
  565.                 this.phaseAniClear();
  566.                 this._phase = 1;
  567.         };
  568. };
  569.  
  570. //==============================
  571. // * Update Vict Animation
  572. //==============================
  573. BattleResult.prototype.updateVictAnimation = function() {
  574.            if (this._phaseAnime[0] === 1) {
  575.                     if (this._vict.scale.x > 1.00) {
  576.                                 this._vict.scale.x -= 0.05;
  577.                                 this._vict.opacity += 15;
  578.                                 if (this._vict.scale.x <= 1.00) {
  579.                                         this._vict.scale.x = 1.00;
  580.                                         this._vict.opacity = 255;
  581.                                         this._phaseAnime[0] = 2;
  582.                                         this._phaseAnime[1] = 40;
  583.                                 };
  584.                         };
  585.            } else {
  586.                     if (this._vict.scale.x < 3.00) {
  587.                                 this._vict.scale.x += 0.05;
  588.                                 this._vict.opacity -= 10;
  589.                                 if (this._vict.scale.x >= 3.00) {
  590.                                         this._vict.scale.x = 3.00;
  591.                                         this._vict.opacity = 0;
  592.                                         this._phaseAnime[0] = 0;
  593.                                 };
  594.                         };                  
  595.            };
  596.            this._vict.scale.y = this._vict.scale.x;
  597. };
  598.  
  599. //==============================
  600. // * Update Exp
  601. //==============================
  602. BattleResult.prototype.updateExp = function() {
  603.          if (this.pressAnyKey() &&  $gameTemp._bResult[1] > 0) {
  604.          this._expOld = $gameTemp._bResult[1] - 1;
  605.          };
  606.          var dif_number = this.update_dif(this._expOld,$gameTemp._bResult[1],15);
  607.          if (this._expOld != dif_number) {this._expOld = dif_number;
  608.          this.refresh_number(this._expNumber,this._expOld,this._numbeData,this._expOrg[0],0)};
  609.          if (this._expOld === $gameTemp._bResult[1]) {
  610.                  this.phaseAniClear();
  611.                  this._phase = 2;
  612.                  SoundManager.playCursor();         
  613.          };
  614. };
  615.  
  616. //==============================
  617. // * Update Gold
  618. //==============================
  619. BattleResult.prototype.updateGold = function() {
  620.          if (this.pressAnyKey() &&  $gameTemp._bResult[1] > 0) {
  621.          this._goldOld = $gameTemp._bResult[2] - 1;
  622.          };
  623.          var dif_number = this.update_dif(this._goldOld,$gameTemp._bResult[2],15);
  624.          if (this._goldOld != dif_number) {this._goldOld = dif_number;
  625.          this.refresh_number(this._goldNumber,this._goldOld,this._numbeData,this._goldOrg[0],0)};
  626.          if (this._goldOld === $gameTemp._bResult[2]) {
  627.                  BattleManager.gainGold();
  628.                  this.phaseAniClear();
  629.                  this._phase = 3;
  630.                  SoundManager.playCursor();
  631.          };
  632. };
  633.  
  634. //==============================
  635. // * Update Treasure
  636. //==============================
  637. BattleResult.prototype.updateTreasure = function() {
  638.         if (this._treasures.length > 0) {
  639.                 for (var i = 0; i < this._treasures.length; i++) {
  640.                         this._treasures[i].opacity += 10;
  641.                 };
  642.                 if (this._treasures[0].opacity >= 255 && this._phaseAnime[0] === 0) {
  643.                         this._phaseAnime[0] = 1;
  644.                 };       
  645.         } else {
  646.             this._phaseAnime[0] = 1;
  647.         };
  648.         if (this._phaseAnime[0] === 1 && this.pressAnyKey()) {
  649.                 BattleManager.gainDropItems();
  650.                 this.phaseAniClear();
  651.                 this._phase = 4;
  652.         };
  653. };
  654.  
  655. //==============================
  656. // * Update Level
  657. //==============================
  658. BattleResult.prototype.updateLevel = function() {
  659.         if (this._layout.opacity > 0) {this.updateFade()};
  660.         if (!this._actor && this._actorIndex >= $gameParty.battleMembers().length) {
  661.                 this._phase = 5;
  662.                 SoundManager.playCursor();
  663.         } else {
  664.                 if (this._actor) {
  665.                         this.updateLevelAnimation();
  666.                 } else {
  667.                         this.gainEXP();
  668.                 };
  669.         };
  670. };
  671.  
  672. //==============================
  673. // * Create Level Sprites
  674. //==============================
  675. BattleResult.prototype.createLevelSprites = function() {
  676.         this.disposeLevel();
  677.         this._phaseAnime[0] = 0;
  678.         this._phaseAnime[1] = 10;
  679.         this.createActorSprite();
  680.     this.createLevelLayout();   
  681.     this.createParameters();
  682.     this.createActorName();
  683.         this.playVoice();
  684. };
  685.  
  686. //==============================
  687. // * Play Voice
  688. //==============================
  689. BattleResult.prototype.playVoice = function() {
  690.         if (Imported.MOG_BattleCry) {SoundManager.selectVoice(this._actor._v_levelup)};
  691. };
  692.  
  693. //==============================
  694. // * Create Level Layout
  695. //==============================
  696. BattleResult.prototype.createLevelLayout = function() {
  697.         this._levelLayout = new Sprite(this._layout2_img);
  698.         this._levelLayout.opacity = 0;
  699.         this._levelLayout.anchor.x = 0.5;
  700.         this._levelLayout.anchor.y = 0.5;
  701.         this._levelLayout.x = Graphics.boxWidth / 2;
  702.         this._levelLayout.y = Graphics.boxHeight / 2;
  703.         this._levelLayout.scale.x = 3.0;
  704.         this.addChild(this._levelLayout);       
  705. };
  706.  
  707. //==============================
  708. // * Create Actor Name
  709. //==============================
  710. BattleResult.prototype.createActorName = function() {
  711.         this._name = new Sprite(new Bitmap(140,32));
  712.         this._name.opacity = 0;
  713.         this._name.bitmap.drawText(this._actor._name,0,0,140,32);
  714.         this._name.x = Moghunter.bresult_name_x;
  715.         this._name.y = Moghunter.bresult_name_y;
  716.         this.addChild(this._name);       
  717. };
  718.  
  719. //==============================
  720. // * Create Actor Sprite
  721. //==============================
  722. BattleResult.prototype.createActorSprite = function() {
  723.         var img = ImageManager.loadPicture("Actor_" + this._actor._actorId)
  724.         this._spriteActor = new Sprite(img);
  725.         this._spriteActor.opacity = 0;
  726.         this._spriteActor.anchor.x = 0.5;
  727.         this.addChild(this._spriteActor);
  728. };
  729.  
  730. //==============================
  731. // * Create Parameters
  732. //==============================
  733. BattleResult.prototype.createParameters = function() {
  734.         var x = Moghunter.bresult_par1_x;
  735.         var y = Moghunter.bresult_par1_y;
  736.         this._par = new Sprite(new Bitmap(Graphics.boxWidth,Graphics.boxHeight));
  737.         this._par.opacity = 0;
  738.         this._par.bitmap.drawText(this._actopar[0],x,y,100,32);
  739.         this._par.bitmap.drawText(this._actopar[1],x,y + 32 * 1,100,32);
  740.         this._par.bitmap.drawText(this._actopar[2],x,y + 32 * 2,100,32);
  741.         this._par.bitmap.drawText(this._actopar[3],x,y + 32 * 3,100,32);
  742.         this._par.bitmap.drawText(this._actopar[4],x,y + 32 * 4,100,32);       
  743.         this._par.bitmap.drawText(this._actopar[5],x,y + 32 * 5,100,32);
  744.         this._par.bitmap.drawText(this._actopar[6],x,y + 32 * 6,100,32);
  745.         this._par.bitmap.drawText(this._actopar[7],x,y + 32 * 7,100,32);
  746.         this._par.bitmap.drawText(this._actopar[8],x,y + 32 * 8,100,32);
  747.         var x = Moghunter.bresult_par2_x;
  748.         var y = Moghunter.bresult_par2_y;       
  749.         this._par.bitmap.drawText(this._actor._level,x,y,100,32);
  750.         this._par.bitmap.drawText(this._actor.mhp,x,y + 32 * 1,100,32);
  751.         this._par.bitmap.drawText(this._actor.mmp,x,y + 32 * 2,100,32);
  752.         this._par.bitmap.drawText(this._actor.atk,x,y + 32 * 3,100,32);
  753.         this._par.bitmap.drawText(this._actor.def,x,y + 32 * 4,100,32);       
  754.         this._par.bitmap.drawText(this._actor.mat,x,y + 32 * 5,100,32);
  755.         this._par.bitmap.drawText(this._actor.mdf,x,y + 32 * 6,100,32);
  756.         this._par.bitmap.drawText(this._actor.agi,x,y + 32 * 7,100,32);
  757.         this._par.bitmap.drawText(this._actor.luk,x,y + 32 * 8,100,32);       
  758.         this.addChild(this._par);
  759. };
  760.  
  761. //==============================
  762. // * Refresh New Skill
  763. //==============================
  764. BattleResult.prototype.refreshNewSkill = function() {
  765.         SoundManager.playUseSkill();
  766.     this.removeChild(this._skill);
  767.         this._skill = new Sprite();
  768.         this._skill.x = Moghunter.bresult_skill_x;
  769.         this._skill.y = Moghunter.bresult_skill_y;
  770.         this._skill.opacity = 0;
  771.         this.addChild(this._skill);
  772.     this.addIcon(this._skill,$gameTemp._bResult[4][this._skillIndex]);
  773.         this._skillIndex += 1;
  774.         this._skillAnime = [0,0];
  775. };
  776.  
  777. //==============================
  778. // * dispose Level
  779. //==============================
  780. BattleResult.prototype.disposeLevel = function() {
  781.         this.removeChild(this._spriteActor);
  782.     this.removeChild(this._par);
  783.         this.removeChild(this._levelLayout);
  784.         this.removeChild(this._name);
  785.         this.removeChild(this._skill);
  786.         this._skill = null;
  787. };
  788.  
  789. //==============================
  790. // * Update Animation
  791. //==============================
  792. BattleResult.prototype.updateLevelAnimation = function() {
  793.     this.updateLevelPosition();       
  794.     this._spriteActor.opacity += 10;
  795.         this._levelLayout.opacity += 10;
  796.         this._name.opacity  += 10;
  797.         this._par.opacity += 10;
  798.     if (this._skill) {this.updateSkillAnimation()};
  799.         if (this.pressAnyKey()) {
  800.                 if (this._skillIndex >= $gameTemp._bResult[4].length) {
  801.                 this.clearParData();
  802.                 } else {
  803.                         this.refreshNewSkill();
  804.                 };
  805.         };
  806. };
  807.  
  808. //==============================
  809. // * Update Level Position
  810. //==============================
  811. BattleResult.prototype.updateLevelPosition = function() {
  812.         if (this._phaseAnime[0] === 0) {
  813.                 this._phaseAnime[0] = 1;
  814.                 this._spriteActor.x = -this._spriteActor.width + Moghunter.bresult_actor_x;
  815.                 this._par.x = this._spriteActor.width + Moghunter.bresult_actor_x;
  816.         };
  817.         this._spriteActor.x = this.sprite_move_to(this._spriteActor.x,Moghunter.bresult_actor_x,20);
  818.         this._spriteActor.y = Graphics.boxHeight - this._spriteActor.height + Moghunter.bresult_actor_y;
  819.         if (this._levelLayout.scale.x > 1.00) {
  820.                 this._levelLayout.scale.x -= 0.05;
  821.                 if (this._levelLayout.scale.x < 1.00) {this._levelLayout.scale.x = 1.00};       
  822.         };
  823.         this._par.x = this.sprite_move_to(this._par.x,Moghunter.bresult_par0_x,20);
  824.         this._par.y = Moghunter.bresult_par0_y;
  825. };
  826.  
  827. //==============================
  828. // * Update Skill Animation
  829. //==============================
  830. BattleResult.prototype.updateSkillAnimation = function() {
  831.         this._skill.opacity += 10;
  832.         this._skillAnime[0] ++;
  833.         if (this._skillAnime[0] < 20) {
  834.                 this._skill.y -= 2;
  835.         } else if (this._skillAnime[0] < 40) {
  836.                 this._skill.y += 2;
  837.         };       
  838. };
  839.  
  840. //==============================
  841. // * Sprite Move To
  842. //==============================
  843. BattleResult.prototype.sprite_move_to = function(value,real_value,speed) {
  844.         if (value == real_value) {return value};
  845.         var dnspeed = 5 + (Math.abs(value - real_value) / speed);
  846.         if (value > real_value) {value -= dnspeed;
  847.             if (value < real_value) {value = real_value};}
  848.     else if (value < real_value) {value  += dnspeed;
  849.             if (value  > real_value) {value  = real_value};               
  850.     };
  851.         return Math.floor(value);
  852. };
  853.  
  854. //==============================
  855. // * clear Par DAta
  856. //==============================
  857. BattleResult.prototype.clearParData = function() {
  858.         this._actor = null;
  859.         this.disposeLevel();
  860.         this._skillIndex = 0;
  861.         $gameTemp._bResult[4] = [];
  862. };
  863.  
  864. //==============================
  865. // * Gain EXP
  866. //==============================
  867. BattleResult.prototype.gainEXP = function() {
  868.          var actor = $gameParty.battleMembers()[this._actorIndex];
  869.          this._actopar = [actor._level,actor.mhp,actor.mmp,actor.atk,actor.def,actor.mat,actor.mdf,actor.agi,actor.luk];
  870.          var lvOld = actor._level
  871.      actor.gainExp($gameTemp._bResult[1]);
  872.      this._actorIndex += 1;
  873.          if (actor._level > lvOld) {
  874.                  this._actor = actor;
  875.                  this.createLevelSprites();
  876.                  SoundManager.playCursor();
  877.          } else {
  878.          this.clearParData();
  879.          };
  880. };
  881.  
  882. //==============================
  883. // * Update Fade
  884. //==============================
  885. BattleResult.prototype.updateFade = function() {
  886.         this._layout.opacity -= 10;
  887.         for (var i = 0; i < this._expNumber.length; i++) {
  888.            this._expNumber[i].opacity = this._layout.opacity;
  889.         };       
  890.         for (var i = 0; i < this._goldNumber.length; i++) {
  891.            this._goldNumber[i].opacity = this._layout.opacity;
  892.         };
  893.         for (var i = 0; i < this._treasures.length; i++) {
  894.              this._treasures[i].opacity = this._layout.opacity;
  895.     };
  896.         if (this._phase === 5 && this._layout.opacity <= 0) {
  897.        $gameTemp._bResult = [false,[],0,0,[]];;
  898.         };
  899. };
  900.  
  901. //==============================
  902. // * Update End
  903. //==============================
  904. BattleResult.prototype.updateEnd = function() {
  905.         if (this._layout.opacity <= 0) {
  906.        $gameTemp._bResult = [false,[],0,0,[]];;
  907.         } else {
  908.            this.updateFade();
  909.         };
  910. };

WechatIMG481.jpg (191.2 KB, 下载次数: 26)

WechatIMG481.jpg

作者: 余杭    时间: 2023-7-18 17:28
代码在177到180那几行,你自己改改就行
作者: douqunbo    时间: 2023-7-18 22:09
余杭 发表于 2023-7-18 17:28
代码在177到180那几行,你自己改改就行

求点拨一下思路  因为我是部分级别有新技能的(比如2级、5级)那么当3级、4级没有新技能的时候才需要显示“无”字 这样~ 谢谢
作者: nhycs01    时间: 2023-7-19 11:49
douqunbo 发表于 2023-7-18 22:09
求点拨一下思路  因为我是部分级别有新技能的(比如2级、5级)那么当3级、4级没有新技能的时候 ...

3,4级都学一个名字为<无>的技能,然后公共事件里判定某某角色达到3,4级后,自动删除一个<无>的技能。

我不会插件,我只能这么想了
作者: 余杭    时间: 2023-7-19 13:40
douqunbo 发表于 2023-7-18 22:09
求点拨一下思路  因为我是部分级别有新技能的(比如2级、5级)那么当3级、4级没有新技能的时候 ...

177和178之间加一行代码,这个后面的    无    ,就是你想要显示的文字


JAVASCRIPT 代码复制
  1. if (newSkills.length === 0) newSkills.push({name:"无"});

作者: douqunbo    时间: 2023-7-20 12:21
余杭 发表于 2023-7-19 13:40
177和178之间加一行代码,这个后面的    无    ,就是你想要显示的文字

膜拜大佬,解决了感谢!




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1