代码出错:Cannot read property '0' of undefined,有大佬知道是什么原因吗 //============================================================================= // MOG_MenuBackground.js //============================================================================= /*: * @target MZ * @plugindesc (v1.0) O plugin permite mudar a imagem de fundo do menu. * @author Moghunter * @url https://mogplugins.wordpress.com * * @param Default FileName * @text File Name * @desc Definição do nome de arquivo. * @type file * @dir img/menus/ * @default Background_01 * * @param Window Opacity * @desc Definição da transparência da janela. * @type number * @default 0 * @min 0 * @max 255 * * @param Scroll X-Axis * @desc Definição da velocidade de deslize na horizontal. * @default 0 * * @param Scroll Y-Axis * @desc Definição da velocidade de deslize na vertical. * @default 0 * * @param Disable Scenes * @desc Definição das cenas que terão o efeito desativado. * Scene_Name1 , Scene_Name2 , Scene_Name3 ... * @default Scene_Test1,Scene_Test2,Scene_Test3 * * @command MenuBackground_Setup * @desc Configuração do fundo do menu. * @text Setup * * @arg fileName * @text File Name * @desc Definição do nome de arquivo. * @type file * @dir img/menus/ * @default Background_01 * * @arg sx * @text Horizontal Scroll * @desc Definição da velocidade de deslize na horizontal. * @default 0 * * @arg sy * @text Vertical Scroll * @desc Definição da velocidade do deslize na vertical. * @default 0 * * @help * ============================================================================= * ♦♦♦ MOG - Menu Background ♦♦♦ * Author - Moghunter * Version - 1.0 * Updated - 2020/10/18 * https://mogplugins.wordpress.com * ============================================================================= * O plugin permite mudar a imagem de fundo do menu. * * ============================================================================= * As imagens do background deverão ficar na pasta /img/menus/ * ============================================================================= * */ (() => { //============================================================================= // ** PLUGIN PARAMETERS //============================================================================= var Imported = Imported || {}; Imported.MOG_MenuBackground = true; var Moghunter = Moghunter || {}; Moghunter.parameters = PluginManager.parameters('MOG_MenuBackground'); Moghunter.mback_fileName = String(Moghunter.parameters['Default FileName'] || "Background_01"); Moghunter.mback_sufixName = String(Moghunter.parameters['Suffix FileName'] || "_back"); Moghunter.mback_selfback = String(Moghunter.parameters['Unique Backgrounds'] || "false"); Moghunter.mback_skipscenes = Object(Moghunter.parameters['Disable Scenes'] || []); Moghunter.mback_ox = Number(Moghunter.parameters['Scroll X-Axis'] || 0); Moghunter.mback_oy = Number(Moghunter.parameters['Scroll Y-Axis'] || 0); Moghunter.mback_opacity = Number(Moghunter.parameters['Window Opacity'] || 0); SceneManager._mback = false; //============================== // * Setup Command //============================== PluginManager.registerCommand('MOG_MenuBackground', "MenuBackground_Setup", data => { const fileName = String(data.fileName); const sx = Number(data.sx); const sy = Number(data.sy); $gameSystem._menuBackgroundData.fileName = fileName; $gameSystem._menuBackgroundData.sx = sx; $gameSystem._menuBackgroundData.sy = sy; SceneManager.setMenuBackgroundBitmap(true); }); //============================================================================= // ■■■ ImageManager ■■■ //============================================================================= //============================== // * Menus //============================== ImageManager.loadMenus = function(filename) { return this.loadBitmap('img/menus/', filename); }; //============================================================================= // ■■■ Game System ■■■ //============================================================================= //============================== // ♦ ALIAS ♦ Initialize //============================== const _mog_menuBackground_gSystem_initialize = Game_System.prototype.initialize; Game_System.prototype.initialize = function() { _mog_menuBackground_gSystem_initialize.call(this); this.setupMenuBackground(); }; //============================== // * setup Menu Background //============================== Game_System.prototype.setupMenuBackground = function() { this._menuBackgroundData = {}; this._menuBackgroundData.fileName = String(Moghunter.mback_fileName); this._menuBackgroundData.sx = Moghunter.mback_ox; this._menuBackgroundData.sy = Moghunter.mback_oy; this._menuBackgroundData.needRefresh = false; }; //============================== // * Get Par Array //============================== Game_System.prototype.get_par_array = function(object,value,type) { if (value.length === 0) {return}; var s = value.split(','); if (type === 0){ for (var i = 0; i < s.length; i++) {object.push(String(s[i])); }; } else { for (var i = 0; i < s.length; i++) {object.push(Number(s[i])); }; }; }; //============================================================================= // ■■■ Window Base ■■■ //============================================================================= //============================== // ♦ ALIAS ♦ Initialize //============================== const _mog_menuBack_wbase_initialize = Window_Base.prototype.initialize; Window_Base.prototype.initialize = function(rect) { _mog_menuBack_wbase_initialize.call(this,rect); if (this.needUpdateBackOpacity()) {this.updateBackgroundOpacity()}; }; //============================== // ♦ ALIAS ♦ Update //============================== const _alias_mog_mback_wbase_update = Window_Base.prototype.update; Window_Base.prototype.update = function() { _alias_mog_mback_wbase_update.call(this); if (this.needUpdateBackOpacity()) {this.updateBackgroundOpacity()}; }; //============================== // * Need Update Back Opacity //============================== Window_Base.prototype.needUpdateBackOpacity = function() { if (!SceneManager._mback) {return false}; return true; }; //============================== // * Update Background Opacity //============================== Window_Base.prototype.updateBackgroundOpacity = function() { this.opacity = Moghunter.mback_opacity; }; //============================================================================= // ■■■ Scene MenuBase ■■■ //============================================================================= //============================== // * Skip Mbackground //============================== Scene_MenuBase.prototype.needSkipBackgroundScene = function() { if (!SceneManager._scene) {return false}; this._mb_skip_scenes = []; $gameSystem.get_par_array(this._mb_skip_scenes, Moghunter.mback_skipscenes, 0); for (var i = 0; i < this._mb_skip_scenes.length; i++) { if (this._mb_skip_scenes[i] === SceneManager._scene.constructor.name) {return true}; }; return false; }; //============================== // ♦ ALIAS ♦ Terminate //============================== const _alias_mog_mback_scmb_terminate = Scene_MenuBase.prototype.terminate; Scene_MenuBase.prototype.terminate = function() { _alias_mog_mback_scmb_terminate.call(this); SceneManager._mback = false; }; //============================== // ♦♦♦ ALIAS ♦♦♦ createBackground //============================== const _mog_menuBack_scnMenuBase_createBackground = Scene_MenuBase.prototype.createBackground; Scene_MenuBase.prototype.createBackground = function() { SceneManager._mback = false; if (!this.needSkipBackgroundScene()) {this.createBackground2();return}; _mog_menuBack_scnMenuBase_createBackground.call(this); }; //============================== // ♦♦♦ ALIAS ♦♦♦ createBackground //============================== Scene_MenuBase.prototype.createBackground2 = function() { SceneManager._mback = true; this._backgroundSprite = new TilingSprite(); this._backgroundSprite.move(0, 0, Graphics.width, Graphics.height); this.refreshBackgroundBitmap(); this.addChild(this._backgroundSprite); if (this.needResizeBackground()) {this.resizeBackground(true)}; }; //============================== // * refresh Background Bitmap //============================== Scene_MenuBase.prototype.refreshBackgroundBitmap = function() { this._backgroundSpriteName = $gameSystem ? $gameSystem._menuBackgroundData.fileName : ""; this._backgroundSprite.bitmap = SceneManager.backgroundMenuBitmap(); this._backgroundSprite.visible = false; this._backgroundSpriteResize = true; }; //============================== // * need Resize Background //============================== Scene_MenuBase.prototype.needResizeBackground = function() { if (!this._backgroundSprite) {return false}; if (!this._backgroundSpriteResize) {return false} if (!this._backgroundSprite.bitmap.isReady()) {return false}; return true; }; //============================== // * resize Background //============================== Scene_MenuBase.prototype.resizeBackground = function() { this._backgroundSpriteResize = false this._backgroundSprite.visible = true; this._backgroundSprite.scale.x = Graphics.width / this._backgroundSprite.bitmap.width; this._backgroundSprite.scale.y = Graphics.height / this._backgroundSprite.bitmap.height; this._backgroundSprite.move(0, 0, this._backgroundSprite.bitmap.width, this._backgroundSprite.bitmap.height); }; //============================== // * update Menu Background //============================== Scene_MenuBase.prototype.updateMenuBackground = function() { this._backgroundSprite.origin.x += $gameSystem._menuBackgroundData.sx; this._backgroundSprite.origin.y += $gameSystem._menuBackgroundData.sy; if (this.needResizeBackground()) {this.resizeBackground()}; if (this.needRefreshBackground()) { SceneManager.setMenuBackgroundBitmap(false); this.refreshBackgroundBitmap(); }; }; //============================== // * needRefreshBackground //============================== Scene_MenuBase.prototype.needRefreshBackground = function() { if (!$gameSystem) {return false} if (this._backgroundSpriteName != $gameSystem._menuBackgroundData.fileName) {return true}; return false; }; //============================== // ♦ ALIAS ♦ Update //============================== const _mog_mback_scbase_update = Scene_MenuBase.prototype.update; Scene_MenuBase.prototype.update = function() { _mog_mback_scbase_update.call(this); if (this._backgroundSprite) {this.updateMenuBackground()}; }; //============================================================================= // ■■■ Scene Map ■■■ //============================================================================= //============================== // ♦ ALIAS ♦ Terminate //============================== const _mog_menuBack_scnMap_terminate = Scene_Map.prototype.terminate; Scene_Map.prototype.terminate = function() { _mog_menuBack_scnMap_terminate.call(this); SceneManager.setMenuBackgroundBitmap(false); }; //============================== // ♦ ALIAS ♦ call Menu //============================== const _mog_menuBack_scnMap_callMenu = Scene_Map.prototype.callMenu; Scene_Map.prototype.callMenu = function() { _mog_menuBack_scnMap_callMenu.call(this); SceneManager.setMenuBackgroundBitmap(false); }; //============================================================================= // ■■■ Scene Manager ■■■ //============================================================================= //============================== // ♦ ALIAS ♦ initialize //============================== const _mog_menuBack_scnMngr_initialize = SceneManager.initialize; SceneManager.initialize = function() { _mog_menuBack_scnMngr_initialize.call(this); this.setMenuBackgroundBitmap(false); }; //============================== // * backgroundName //============================== SceneManager.backgroundName = function() { if ($gameSystem) {return String($gameSystem._menuBackgroundData.fileName)}; return String(Moghunter.mback_fileName); }; //============================== // * setMenuBackgroundBitmap //============================== SceneManager.setMenuBackgroundBitmap = function(name,destroy) { if (this._backgroundMenuBitmap && destroy) { this._backgroundMenuBitmap.destroy(); } this._backgroundMenuBitmap = ImageManager.loadMenus(this.backgroundName()); }; //============================== // * backgroundMenuBitmap //============================== SceneManager.backgroundMenuBitmap = function() { return this._backgroundMenuBitmap; }; })(); |
像p1单独命名的话只能显示命名的那张背景,物品菜单的背景就没法显示了。求大佬指点 |
站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作
GMT+8, 2024-11-22 08:51
Powered by Discuz! X3.1
© 2001-2013 Comsenz Inc.