//============================================================================= // MPP_PreloadBattleImage.js //============================================================================= // Copyright (c) 2018 Mokusei Penguin // Released under the MIT license // http://opensource.org/licenses/mit-license.php //============================================================================= /*: * @plugindesc 【ver.1.1】戦闘に必要な画像を先読み込みすることで、戦闘開始時のロード時間をわずかに減らします。 * @author 木星ペンギン * * @help 通常、戦闘画面へ移行する際に読み込みを行う画像を、 * 戦闘開始エフェクトと同時に先読み込みを行います。 * * デフォルトではエフェクトの時間が60フレーム(1秒)なので * 理論上はロード時間が1秒短縮されます。 * * ================================================================ * ▼デフォルトの仕様 * ツクールMVでは、戦闘開始エフェクト後に背景画像とエネミー画像の読み込みを * 開始し、読み込み完了までLoadingの文字を表示させます。 * アクター画像は戦闘開始後に読み込みが始まり、読み込みができ次第、 * 画面内に登場します。 * * ▼プラグインパラメータ説明 * 〇アクターの戦闘画像の先読みを行うかどうか * アクター画像の先読みを行うことで、戦闘開始後の処理落ちを軽減します。 * ただし、Loadingが表示される時間が長くなる可能性があります。 * 主に[キャラクターメイク(MPP_CharacterMake.js)]と * [戦闘開始特殊エフェクト(MPP_EncounterEffect.js)]を併用した場合を * 想定した機能です。 * * 〇エネミーの戦闘画像の先読みを行うかどうか * エネミー画像の先読みを無効化した場合、Loadingが表示される時間が * 短縮できます。 * ただし、戦闘開始後に処理落ちが発生する可能性があります。 * 主に[敵キャラを遅れて登場させる(MPP_EnemyEntryAfterStart.js)]と * 併用した場合を想定した機能です。 * * ================================ * 制作 : 木星ペンギン * URL : http://woodpenguin.blog.fc2.com/ * * * @param Actor Image Preload? * @type boolean * @desc アクターの戦闘画像の先読みを行うかどうか * @default false * * @param Enemy Image Preload? * @type boolean * @desc エネミーの戦闘画像の先読みを行うかどうか * @default true */ (function () { var MPPlugin = {}; (function() { var parameters = PluginManager.parameters('MPP_PreloadBattleImage'); MPPlugin.ActorImagePreload = !!eval(parameters['Actor Image Preload?'] || 'false'); MPPlugin.EnemyImagePreload = !!eval(parameters['Enemy Image Preload?'] || 'true'); })(); //----------------------------------------------------------------------------- // Scene_Map //57 var _Scene_Map_launchBattle = Scene_Map.prototype.launchBattle; Scene_Map.prototype.launchBattle = function() { _Scene_Map_launchBattle.call(this); var spriteset = Object.create(Spriteset_Battle.prototype); ImageManager.requestBattleback1(spriteset.battleback1Name()); ImageManager.requestBattleback2(spriteset.battleback2Name()); var ImgList = ['[Battle]Word_Aegi_01', '[Battle]Word_Aegi_02', '[Battle]Word_Aegi_03', '[Battle]Word_Aegi_04', '[Battle]Word_Aegi_05', '[Battle]Word_Aegi_06', '[Battle]Word_Aegi_07', '[Battle]Word_Aegi_08', '[Battle]Word_Baibu_01', '[Battle]Word_Baibu_02', '[Battle]Word_Biku_01', '[Battle]Word_Biku_02', '[Battle]Word_Biku_03', '[Battle]Word_Biku_04', '[Battle]Word_Chupa_01', '[Battle]Word_Chupa_02', '[Battle]Word_Chu_01', '[Battle]Word_Chu_02', '[Battle]Word_Dop_01', '[Battle]Word_Dop_02', '[Battle]Word_HeartA_1', '[Battle]Word_HeartA_2', '[Battle]Word_HeartA_3', '[Battle]Word_HeartA_4', '[Battle]Word_HeartB_1', '[Battle]Word_HeartB_2', '[Battle]Word_HeartB_3', '[Battle]Word_HeartB_4', '[Battle]Word_Heko_01', '[Battle]Word_Heko_02', '[Battle]Word_Kachi_01', '[Battle]Word_Kutyu_01', '[Battle]Word_Kutyu_02', '[Battle]Word_Momi_01', '[Battle]Word_Momi_02', '[Battle]Word_Mura_01', '[Battle]Word_Mura_02', '[Battle]Word_Siko_01', '[Battle]Word_Siko_02', '[Battle]Word_Zoku_01', '[Battle]Word_Zoku_02', '[Battle]Word_Zoku_03', '[Battle]Word_Zoku_04'] var IrohaList1 = [ '[Battle]1-6', '[Battle]2-6', '[Battle]3-6', '[Battle]4-6', '[Battle]5-6', '[Battle]6-6', '[Battle]7-6', '[Battle]10-6'] var IrohaList2 = [ '[Battle]1-7', '[Battle]2-7', '[Battle]3-7', '[Battle]4-7', '[Battle]5-7', '[Battle]6-7', '[Battle]7-7', '[Battle]9-7', '[Battle]10-7'] var IrohaList3 = [ '[Battle]1-8', '[Battle]2-8', '[Battle]3-8', '[Battle]4-8', '[Battle]5-8', '[Battle]6-8', '[Battle]7-8', '[Battle]9-8', '[Battle]10-8'] if (MPPlugin.ActorImagePreload) { var actors = $gameParty.battleMembers(); for (var i = 0; i < actors.length; i++) { if (actors[i].isSpriteVisible()) { var name = actors[i].battlerName(); ImageManager.requestSvActor(name); } } } if (MPPlugin.EnemyImagePreload) { var enemies = $gameTroop.members(); for (var i = 0; i < enemies.length; i++) { var name = enemies[i].battlerName(); var hue = enemies[i].battlerHue(); if ($gameSystem.isSideView()) { ImageManager.requestSvEnemy(name, hue); } else { ImageManager.requestEnemy(name, hue); } } for(var i=0;i