Показано с 1 по 10 из 19

Тема: Нужен плагин MV, автоматическое изменение разрешения изображения

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1
    Супер-модератор Аватар для dirge
    Информация о пользователе
    Регистрация
    25.02.2013
    Сообщений
    924
    Репутация: 79 Добавить или отнять репутацию

    По умолчанию

    Сделал, пробуй в общем
    Спойлер плагин:
    Код:
    //=============================================================================
    // ScreenChanger.js
    // Version: 1.0
    //=============================================================================
    
    //=============================================================================
     /*:
     * @plugindesc v1.0 Изменение разрешения через скриптовый вызов в ивенте, после перезаупуска игры.
     * @author Dirge
     *
     * @param Screen Width
     * @desc Ширина по-умолчанию после первого запуска.
     * Default: 816
     * @default 816
     *
     * @param Screen Height
     * @desc Высота по-умолчанию после первого запуска.
     * Default: 624
     * @default 624
     *
     * @help
     * Вызовы скриптов в ивента для изменения разрешения после перезапуска окна игры:
     * Для изменения ширины - _sChange_Width(n);
     * Для изменения высоты - _sChange_Height(n);
     * Где n - число на которое изменить.
     * После вызова этих команд, для автоматического перезапуска игры 
     * использовать команду - location.reload();
     */
    //=============================================================================
    
    var _Screen_Changer_Parameters = PluginManager.parameters('ScreenChanger');
    
    //=============================================================================
    // Config Manager
    //=============================================================================
    ConfigManager.screenWidth    = Number(_Screen_Changer_Parameters['Screen Width'] || 816);
    ConfigManager.screenHeight   = Number(_Screen_Changer_Parameters['Screen Height'] || 624);
    ConfigManager.boxWidth       = Number(_Screen_Changer_Parameters['Screen Width'] || 816);
    ConfigManager.boxHeight      = Number(_Screen_Changer_Parameters['Screen Height'] || 624);
    
    
    /* Alias */
    var _ConfigManager_makeData_Alias = ConfigManager.makeData;
    ConfigManager.makeData = function() {
    	var config = _ConfigManager_makeData_Alias.call(this);
    	config.screenWidth = this.screenWidth;
    	config.screenHeight = this.screenHeight;
    	config.boxWidth   = this.boxWidth;
    	config.boxHeight  = this.boxHeight;
    	return config;
    };
    
    /* Alias */
    var _ConfigManager_applyData_Alias = ConfigManager.applyData;
    ConfigManager.applyData = function(config) {
    	this.screenWidth = this.readValue(config, 'screenWidth');
    	this.screenHeight = this.readValue(config, 'screenHeight');
    	this.boxWidth = this.readValue(config, 'boxWidth');
    	this.boxHeight = this.readValue(config, 'boxHeight');
    	_ConfigManager_applyData_Alias.call(this, config);
    };
    
    /* NEW */	
    ConfigManager.readValue = function(config, name) {
    	var value = config[name];
        if (value !== undefined) {
            return Number(value);
        }
    };
    
    /* Alias */	
    _Screen_Changer_SceneManager_run = SceneManager.run;
    SceneManager.run = function(sceneClass) {
    	ConfigManager.load();
    	SceneManager._screenWidth  = ConfigManager.screenWidth || Number(_Screen_Changer_Parameters['Screen Width']);
    	SceneManager._screenHeight = ConfigManager.screenHeight || Number(_Screen_Changer_Parameters['Screen Height']);
    	SceneManager._boxWidth     = ConfigManager.boxWidth || Number(_Screen_Changer_Parameters['Screen Width']);
    	SceneManager._boxHeight    = ConfigManager.boxHeight || Number(_Screen_Changer_Parameters['Screen Height']); 	
    	_Screen_Changer_SceneManager_run.call(this, sceneClass);
    	var resizeWidth = Graphics.boxWidth - window.innerWidth;
    	var resizeHeight = Graphics.boxHeight - window.innerHeight;
    	window.moveBy(-1 * resizeWidth / 2, -1 * resizeHeight / 2);
    	window.resizeBy(resizeWidth, resizeHeight);
    };
    
    /* NEW */
    _sChange_Width = function(value){
    	ConfigManager.screenWidth = value;
    	ConfigManager.boxWidth = value;
    	ConfigManager.save();
    };
    
    /* NEW */
    _sChange_Height = function(value){
    	ConfigManager.screenHeight = value;
    	ConfigManager.boxHeight = value;
    	ConfigManager.save();
    };

    Только сразу выбрось остальные плагины в которых есть упоминание о разрешении игры, либо ставь мой ниже и надейся, что они друг с другом будут работать.
    Вставляешь как обычный плагин, активируешь в окне плагинов и вперед. Не забудь назвать .js файл "ScreenChanger.js", иначе параметры не считаются. В хелпе находятся команды для использования.
    Ну, на всякий пожарный картинка как использовать

    location.reload(); - можно вызывать в любом другом месте, а можно и не вызывать вовсе, просто разрешение не изменится пока игра не перезапустится.
    Пока ты не вызовешь команды изменения ширины или высоты - будут использоваться значения по-умолчанию.
    В общем, пробуй, может я где-то накосячил, сильно не тестил.
    Последний раз редактировалось dirge; 02.03.2016 в 01:43.

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Метки этой темы

Социальные закладки

Социальные закладки

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •  
Нужен плагин MV, автоматическое изменение разрешения изображения