Описание плагина:
Плагин позволяет установить цвет экрана, отображаемый после запуска игры. Без пауз!
Использование плагина:
Подключите и настройте параметры.
В целом, повторяется логика настройки команды мейкера "Оттенок экрана" с тем лишь отличием, что тут скорость окраса идет первой.
Параметры плагина:
Скорость окраса экрана и цвета RGB (Красный, Зеленый, Синий) и D (Серый).
Как в команде "Оттенок экрана" мейкера. Команды(в эвенте команда "Скрипт"):
Отсутствуют.
Нюансы:
Плагин в первую очередь для MZ. * На MV он тоже работает, но долго я его там не тестировал.
Плагин не затрагивает главное меню - он меняет цвет игрового экрана!
Пример использования:
1-1) Если вы хотите, чтоб после нажатия "Новая игра" экран был чёрного цвета, оставьте дефолтные настройки плагина (1, -255, -255, -255, 0).
1-2) Или же, если вы хотите, чтоб после нажатия "Новая игра" экран плавно за 15 кадров становился максимально синим, в параметрах сделайте
такие значения: 15, 0, 0, 255, 0.
2) Когда в процессе игры нужно будет как-то изменить цвет экрана, используйте стандартную команду мейкера "Оттенок экрана" (если нужно "просветлить", то там же есть кнопка "Норма" / "Стандарт").
Код:
СпойлерВерсия 1.0.0:
Код:
var Imported = Imported || {};
Imported.DKR_TintStartScreen = true;
var DKR = DKR || {};
DKR.TintStartScreen = DKR.TintStartScreen || {};
DKR.TintStartScreen.version = 1.0;
DKR.TintStartScreen.parameters = PluginManager.parameters('DKR_TintStartScreen');
//-----------------------------------------------------------------------------
/*:
* @plugindesc (v.1.0.0) Плагин позволяет установить цвет экрана, отображаемый после запуска игры. Без пауз!
*
* @target MZ
* @author DarchanKaen
*
* @help
* DKR TintStartScreen
* ----------------------------------------------------------------------------
* ---Общая информация:
* Плагин позволяет установить цвет экрана,
* отображаемый после запуска игры. Без пауз!
* Со старта плагин настроен на оттенок экрана - Чёрный.
* Для нормализации цвета экрана испольуете команду мейкера
* "Оттенок экрана"->"Норма"!
*
* ---Параметры плагина:
* Скорость окраса экрана и цвета RGB (Красный, Зеленый, Синий) и D (Серый).
* Как в команде "Оттенок экрана" мейкера.
* ---Команды(в эвенте команда "Скрипт"):
* Отсутствуют.
* ----------------------------------------------------------------------------
* @param fadeScreenSpeed
* @type Number
* @desc Скорость оттенка экрана, чем меньше значение - тем быстрее окрас экрана.
* @default 1
*
* @param fadeScreenR
* @type Number
* @desc Значение Красного цвета (от -255 до 255).
* @default -255
*
* @param fadeScreenG
* @type Number
* @desc Значение Зеленого цвета (от -255 до 255).
* @default -255
*
* @param fadeScreenB
* @type Number
* @desc Значение Синего цвета (от -255 до 255).
* @default -255
*
* @param fadeScreenD
* @type Number
* @desc Значение Серого цвета (от 0 до 255).
* @default 0
*
*/
(() => {
//----DATA: BEGIN
const DEFAULT_FSS = 1;
const MAX_FSS = 999;
const DEFAULT_RGB = -255;
const DEFAULT_D = 0;
const MAX_RGBD = 255;
let fadeScreenSpeed = Number(DKR.TintStartScreen.parameters['fadeScreenSpeed']);
let fadeScreenR = Number(DKR.TintStartScreen.parameters['fadeScreenR']);
let fadeScreenG = Number(DKR.TintStartScreen.parameters['fadeScreenG']);
let fadeScreenB = Number(DKR.TintStartScreen.parameters['fadeScreenB']);
let fadeScreenD = Number(DKR.TintStartScreen.parameters['fadeScreenD']);
//----DATA: END
//----LOGIC: BEGIN
const getNormalizedFadeParams = () => {
if(fadeScreenSpeed < DEFAULT_FSS || fadeScreenSpeed >= MAX_FSS){
fadeScreenSpeed = DEFAULT_FSS;
}
if(fadeScreenR < DEFAULT_RGB || fadeScreenR >= MAX_RGBD){
fadeScreenR = DEFAULT_RGB;
}
if(fadeScreenG < DEFAULT_RGB || fadeScreenG >= MAX_RGBD){
fadeScreenG = DEFAULT_RGB;
}
if(fadeScreenB < DEFAULT_RGB || fadeScreenB >= MAX_RGBD){
fadeScreenB = DEFAULT_RGB;
}
if(fadeScreenD < DEFAULT_D || fadeScreenD >= MAX_RGBD){
fadeScreenD = DEFAULT_D;
}
fadeParamsList = [[fadeScreenR, fadeScreenG, fadeScreenB, fadeScreenD], fadeScreenSpeed];
return fadeParamsList;
}
//----LOGIC: END
//----CORE-MODIFY: BEGIN
let Game_Map_Prototype_init_DKREdit = Game_Map.prototype.initialize;
Game_Map.prototype.initialize = function() {
Game_Map_Prototype_init_DKREdit.call(this);
const normalFadeParamsList = getNormalizedFadeParams();
$gameScreen.startTint(normalFadeParamsList[0], normalFadeParamsList[1]);
};
//----CORE-MODIFY: END
})();
Условия поставки плагина:
Поставляется AS-IS.
Вся ответственность при использовании - на Пользователе! !
Совместимость:
Плагин чуть модифицирует логику инициализации карт.
Хоть в коде и используется подход, повышающий совместимость, но все же совместимость с другими плагинами, как-то затрагивающими инициализацию карт,
не гарантируется.
СпойлерЛирическое отступление:
Может я криворукий, но у меня всегда возникала пауза перед командой затемнения экрана - и в Параллельном, и а Автоматическом запуске (и в MV, и в MZ).
Если нужен темный экран, можно конечно начинать с пустой карты или ставить картинку...но это рано или поздно утомляет.
И я вспомнил, что есть дефолтная возможность "невидимого игрока со старта"...Почему же Кадокава/Дегика не дали нам возможность еще и экран настроить?
Короче, quality of life, который мы заслужили.
Скорее всего существуют разные вариации этого плагина, но я криво гуглил и не нашел.
Ну, будет еще одна реализация.
Эх, и это уже второй случай, когда у меня от задумки игры, в итоге, остается только плагин.
Может кому-то поможет.
Последний раз редактировалось Darchan Kaen; 12.07.2022 в 21:40.
Социальные закладки