Плохо! Плохо!:  0
Страница 2 из 2 ПерваяПервая 12
Показано с 11 по 19 из 19

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

  1. #11

    По умолчанию

    Цитата Сообщение от dirge Посмотреть сообщение
    Лол... ты столько нюансов не учитываешь, это просто лол... Я в принципе больше ничего не могу сказать. Хоть я понимаю что ты подразумеваешь, но тут же городишь совсем другое.
    В общем, на написал, прям то что ты хотел.
    Код:
    Graphics._defaultStretchMode = function() {
    	Graphics._switchFullScreen();
        return true;
    };
    
    SceneManager._screenWidth  = screen.width;
    SceneManager._screenHeight = screen.height;
    SceneManager._boxWidth     = screen.width;
    SceneManager._boxHeight    = screen.height;
    Как говорится "Have fun", думаю будет весело если ты такое не можешь соорудить, а рассказываешь об масштабировании и позиционировании. Только не забывай, что ты теперь делаешь игру под все разрешения на планете.
    Писать скрипты на джаве, учитывая синтаксис и делать веб верстку далеко разные вещи)
    Спасибо за код, обязательно опробую..



    p.S. Воот, то что нужно! Пока правда только на демо версии проверил, но думаю и для самой игры подойдет)
    Неужели так сразу нельзя было сделать? А уж проблемы с графикой и прочим уже мои заботы..

    Спасибо, лайк!
    Последний раз редактировалось soulshard; 11.02.2016 в 00:17.

  2. #12
    Маститый Аватар для Yuryol
    Информация о пользователе
    Регистрация
    06.03.2014
    Адрес
    Красноярск
    Сообщений
    1,420
    Записей в дневнике
    44
    Репутация: 60 Добавить или отнять репутацию

    По умолчанию

    Похожий вопрос. Может вы об этом и говорили, но среду вашей ругани и взаимных унижениях я ниче не понял
    Есть плагин на разрешение. Надо сделать чтоб например мы в событии вводили скрипт "Screen Height = 700" и высота менялась на 700.

    [SPOILER]
    //================================================== ===========================
    // Yanfly Engine Plugins - Screen Resolution
    // ScreenResolution.js
    // Version: 1.00
    //================================================== ===========================

    var Imported = Imported || {};
    Imported.ScreenResolution = true;

    var Yanfly = Yanfly || {};
    Yanfly.ScrRes = Yanfly.ScrRes || {};

    //================================================== ===========================
    /*:
    * @plugindesc v1.00 Change your game's screen resolution to your liking!
    * @author Yanfly Engine Plugins
    *
    * @param Screen Width
    * @desc Adjusts the width of the screen. .
    * Default: 816
    * @default 816
    *
    * @param Screen Height
    * @desc Adjusts the height of the screen. .
    * Default: 624
    * @default 624
    *
    * @help
    * Adjust the parameters to change the size of how you want your game's
    * screen resolution to appear.
    */
    //================================================== ===========================

    Yanfly.Parameters = PluginManager.parameters('ScreenResolution');

    //================================================== ===========================
    // Scene_Manager
    //================================================== ===========================

    SceneManager._screenWidth = Number(Yanfly.Parameters['Screen Width'] || 816);
    SceneManager._screenHeight = Number(Yanfly.Parameters['Screen Height'] || 624);
    SceneManager._boxWidth = Number(Yanfly.Parameters['Screen Width'] || 816);
    SceneManager._boxHeight = Number(Yanfly.Parameters['Screen Height'] || 624);

    Yanfly.ScrRes.SceneManager_run = SceneManager.run;
    SceneManager.run = function(sceneClass) {
    Yanfly.ScrRes.SceneManager_run.call(this, sceneClass);
    if (Utils.isMobileDevice()) return;
    if (Utils.isMobileSafari()) return;
    if (Utils.isAndroidChrome()) return;
    var resizeWidth = Graphics.boxWidth - window.innerWidth;
    var resizeHeight = Graphics.boxHeight - window.innerHeight;
    window.moveBy(-1 * resizeWidth / 2, -1 * resizeHeight / 2);
    window.resizeBy(resizeWidth, resizeHeight);
    };

    //================================================== ===========================
    // End of File
    //================================================== ===========================
    [/SPOILER]

    P.S. не понимаю я как тут спойлеры вставлять

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

    По умолчанию

    если ты хочешь менять разрешение во время игры без перезагрузки этой самой игры, то забудь об этом. Максимум что возможно, это сохранять параметры и принять их после перезагрузки игры.

  4. #14
    Маститый Аватар для Yuryol
    Информация о пользователе
    Регистрация
    06.03.2014
    Адрес
    Красноярск
    Сообщений
    1,420
    Записей в дневнике
    44
    Репутация: 60 Добавить или отнять репутацию

    По умолчанию

    Цитата Сообщение от dirge Посмотреть сообщение
    если ты хочешь менять разрешение во время игры без перезагрузки этой самой игры, то забудь об этом. Максимум что возможно, это сохранять параметры и принять их после перезагрузки игры.
    Блин печально.
    А после перезагрузки как? Подскажи плиз, если нетрудно.

    Ну и следом вопрос: а какую команду надо ввести чтоб игра перезагрузилась автоматически?

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

    По умолчанию

    Я не говорю, что это совсем невозможно, это просто довольно сложно, т.к. разработчики это не предусмотрели, от слова совсем, из-за чего придется довольно сильно попотеть, чтобы разрешение на ходу менялось.
    А после перезагрузки как? Подскажи плиз, если нетрудно.
    нужно писать плагин, хоть он будет небольшой, но я пока этим заниматься не могу. А так нужно сохранять параметры в конфигменеджер, а после считывать с него.
    Ну и следом вопрос: а какую команду надо ввести чтоб игра перезагрузилась автоматически?
    Код:
    location.reload();

  6. #16
    Супер-модератор Аватар для 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.

  7. #17
    Маститый Аватар для Yuryol
    Информация о пользователе
    Регистрация
    06.03.2014
    Адрес
    Красноярск
    Сообщений
    1,420
    Записей в дневнике
    44
    Репутация: 60 Добавить или отнять репутацию

    По умолчанию

    спасибо огромное!ближе к вечеру потестю.
    у меня вообще нет скриптов кроме пропуска главного меню и переназначения клавиш поэтому конфликтам вряд ли есть откуда взяться)

  8. #18

    По умолчанию

    странно, но на моем телефоне с этим скриптом все наезжает друг на друга, а можно что-то с этим сделать? При этом у телефонов разные расширения экрана
    Graphics._defaultStretchMode = function() {
    Graphics._switchFullScreen();
    return true;
    };

    SceneManager._screenWidth = screen.width;
    SceneManager._screenHeight = screen.height;
    SceneManager._boxWidth = screen.width;
    SceneManager._boxHeight = screen.height;

  9. #19
    Маститый Аватар для Yuryol
    Информация о пользователе
    Регистрация
    06.03.2014
    Адрес
    Красноярск
    Сообщений
    1,420
    Записей в дневнике
    44
    Репутация: 60 Добавить или отнять репутацию

    По умолчанию

    Цитата Сообщение от snr93 Посмотреть сообщение
    странно, но на моем телефоне с этим скриптом все наезжает друг на друга, а можно что-то с этим сделать? При этом у телефонов разные расширения экрана
    вот плагин как вариант
    http://rpgmaker.su/f109/[mv]-%D0%B8%D0%B7%D0%BC%D0%B5%D0%BD%D0%B5%D0%BD%D0%B8%D 0%B5-%D1%80%D0%B0%D0%B7%D1%80%D0%B5%D1%88%D0%B5%D0%BD%D 0%B8%D1%8F-%D0%B8%D0%B3%D1%80%D1%8B-%D0%BD%D0%B0-%D1%85%D0%BE%D0%B4%D1%83-2984/?highlight=%D1%80%D0%B0%D0%B7%D1%80%D0%B5%D1%88%D0 %B5%D0%BD%D0%B8%D0%B5

Страница 2 из 2 ПерваяПервая 12

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

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

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

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

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

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

Ваши права

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