Размещение окна команд в титульном меню

Проект месяца 1 место Программист Ruby Писатель 3 место 3 место Учитель Организатор конкурсов 1 место в Готв Ветеран Проект месяца 2 место
Больше
10 года 6 мес. назад - 10 года 6 мес. назад #86400 от DeadElf79
Размещение окна команд в титульном меню
Название скрипта: Scene_Title - CommandPosition
Автор: DeadElf79
Версия: 1.0
Описание: Размещает окно на титульном экране в нужном положении с привязкой к координатам. Альтернатива плагину, идущему в комплекте, который позволяет лишь сместить окно относительно центра, а не задать ему четкие координаты.
Параметры:
  • X - Координата по X относительно начала координат
  • Y - Координата по Y относительно начала координат
  • View Skin - Позволяет отключить скин окна. 0 - выкл. скин, 1 - вкл.
  • Start Point - 0 - левый верхний угол, 1 - правый верхний, 2 - левый нижний, 3 - правый нижний
Код:
Code:
//============================================================================= // Scene_Title - CommandPosition.js //============================================================================= /*: * @plugindesc Размещает окно на титульном экране в нужном положении с привязкой к координатам * @author DeadElf79 * @param X * @desc Координата по X относительно начала координат * @default -200 * @param Y * @desc Координата по Y относительно начала координат * @default -150 * @param View Skin * @desc Позволяет отключить скин окна. 0 - выкл. скин, 1 - вкл. * @default 0 * @param Start Point * @desc 0 - левый верхний угол, 1 - правый верхний, 2 - левый нижний, 3 - правый нижний * @default 3 */ (function() { var parameters = PluginManager.parameters('TitleCommandPosition'); var x = Number(parameters['X'] || 100); var y = Number(parameters['Y'] || 20); var skin = Number(parameters['View Skin'] || 0); var start_point = Number(parameters['Start Point'] || 0); var ox, oy; switch (start_point){ case 0: ox = 0; oy = 0; break; case 1: ox = Graphics.width; oy = 0; break; case 2: ox = 0; oy = Graphics.height; break; case 3: ox = Graphics.width; oy = Graphics.height; break; default: ox = 0; oy = 0; } var _Window_TitleCommand_updatePlacement = Window_TitleCommand.prototype.updatePlacement; Window_TitleCommand.prototype.updatePlacement = function() { _Window_TitleCommand_updatePlacement.call(this); this.x = ox + x; this.y = oy + y; }; })();

Первый пост с оформлением в этом разделе. Позднее нужно все последующие оформлять также, уже готовлю шаблон с описанием.
Последнее редактирование: 10 года 6 мес. назад пользователем DeadElf79.
Спасибо сказали: Ren310, tvorimvsevmeste, EvilCat

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
10 года 6 мес. назад #86401 от Kian Ni
Спешу тебя огорчить, но такой скрипт идет в комплекте с мейкером.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Проект месяца 1 место Программист Ruby Писатель 3 место 3 место Учитель Организатор конкурсов 1 место в Готв Ветеран Проект месяца 2 место
Больше
10 года 6 мес. назад - 10 года 6 мес. назад #86402 от DeadElf79
Спешу тебе ответить, что тот скрипт несёт лишь сдвиг относительно центра экрана. Мой - задает относительно указанного угла (что удобно, если хочется сделать меню в левом нижнем углу и чтобы при любом разрешении это работало верно).

На данный момент разбираюсь, как скрыть шкурку окна. И у меня проблема с получением Graphics.wdith - оно выводит undefined и я пока не понимаю, почему.
Последнее редактирование: 10 года 6 мес. назад пользователем DeadElf79.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
10 года 6 мес. назад #86403 от Kian Ni
Те же яйца, только в профиль.

Потому что там Graphics.boxWidth.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Проект месяца 1 место Программист Ruby Писатель 3 место 3 место Учитель Организатор конкурсов 1 место в Готв Ветеран Проект месяца 2 место
Больше
10 года 6 мес. назад #86405 от DeadElf79
Киан, первый плагин на десятой минуте изучения местного варианта JS, чего ты хотел? Боевую систему? Освещение? ^_^

За параметр спасибо, попробую

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
10 года 6 мес. назад #86406 от Kian Ni
Нет, я не хотел тебя обидеть или задеть, просто зачем делать то, что уже есть?

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Проект месяца 1 место Программист Ruby Писатель 3 место 3 место Учитель Организатор конкурсов 1 место в Готв Ветеран Проект месяца 2 место
Больше
10 года 6 мес. назад #86407 от DeadElf79
Потому что я пока даже того, что есть, не понимаю. Вот, буду учиться на ошибках.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
10 года 6 мес. назад #86408 от Kian Ni
Ладно, удачи тебе бро.
Спасибо сказали: DeadElf79

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Проект месяца 1 место Программист Ruby Писатель 3 место 3 место Учитель Организатор конкурсов 1 место в Готв Ветеран Проект месяца 2 место
Больше
10 года 6 мес. назад - 10 года 6 мес. назад #86520 от DeadElf79
Проблема с размещением окна с зависимостью от разрешения экрана решается очень просто и не имеет последствий (я, по крайней мере, их не увидел):

js/main.js
Code:
//============================================================================= // main.js //============================================================================= //PluginManager.setup($plugins); window.onload = function() { SceneManager.run(Scene_Boot); };

js/rpg_manager.js строка 1470
Code:
SceneManager.run = function(sceneClass) { try { this.initialize(); // --- ADDED PLUGIN LOADING AFTER INITIALIZE PluginManager.setup($plugins); // --- this.goto(sceneClass); this.requestUpdate(); } catch (e) { this.catchException(e); } };

Прошу EvilCat и всех разбирающихся проверить на совместимость с их плагинами. Если всё в порядке, то всякие странные плагины эльфа можно будет использовать с этим костылем ^_^
Последнее редактирование: 10 года 6 мес. назад пользователем DeadElf79.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Проект месяца 3 место Проект месяца 2 место Ветеран Учитель Проект месяца 1 место Проект года 3 место Разработчик
Больше
7 года 2 мес. назад - 7 года 2 мес. назад #109369 от Alexandr_7
Изменил оригинальный скрипт.
Добавил так EnableOffset. Он отвечает будет ли задано смещение или будет задана позиция.
Позже переведу и доведу до удобства к версии 1.5.
Ещебы потом скинуть разроаботчику оригинала. Тоесть самому Yoji Ojima. Но его найти бы на форуме или его почту.
Code:
//============================================================================= // TitleCommandPosition.js //============================================================================= /*: * @plugindesc Changes the position of the title command window. * @author Yoji Ojima (Fix from Alexandr_7) * * @param EnableOffset * @desc Set by offset * @type boolean * @on Enable * @off Disable * NO - false YES - true * @default false * * @param Offset X * @desc The offset value for the x coordinate. * @default 0 * * @param Offset Y * @desc The offset value for the y coordinate. * @default 0 * * @param Width * @desc The width of the command window. * @default 240 * * @param Background * @desc The background type. 0: Normal, 1: Dim, 2: Transparent * @default 0 * * @help This plugin does not provide plugin commands. */ /*:ja * @plugindesc タイトルコマンドウィンドウの位置を変更します。 * @author Yoji Ojima * * @param EnableOffset * @desc Set by offset * @type boolean * @on Enable * @off Disable * NO - false YES - true * @default false * * @param Offset X * @desc X座標のオフセット値です。 * @default 0 * * @param Offset Y * @desc Y座標のオフセット値です。 * @default 0 * * @param Width * @desc コマンドウィンドウの幅です。 * @default 240 * * @param Background * @desc 背景タイプです。0: 通常、1: 暗くする、2: 透明 * @default 0 * * @help このプラグインには、プラグインコマンドはありません。 */ (function() { var parameters = PluginManager.parameters('TitleCommandPosition'); var EnableOffset = eval(String(parameters['EnableOffset'])); var offsetX = Number(parameters['Offset X'] || 0); var offsetY = Number(parameters['Offset Y'] || 0); var width = Number(parameters['Width'] || 240); var background = Number(parameters['Background'] || 0); var _Window_TitleCommand_updatePlacement = Window_TitleCommand.prototype.updatePlacement; Window_TitleCommand.prototype.updatePlacement = function() { _Window_TitleCommand_updatePlacement.call(this); if (EnableOffset == true) { this.x += offsetX; this.y += offsetY; } else { this.x = offsetX; this.y = offsetY; } this.setBackgroundType(background); }; Window_TitleCommand.prototype.windowWidth = function() { return width; }; })();
смещения.
В отличите от твоего все функции оригинала присутствуют. Тоесть тотже background некуда не делся и его можно использоввать.

Вообще не понимаю этих японцев. Во всяком случае Yoji Ojima ленивый раз поленился добавить пару строчек кода.

Мой вк: vk.com/borisov_alexandr_5
Мой ютуб канал: www.youtube.com/@alexandr_5836
Мой бусти: boosty.to/alexandr-7
Последнее редактирование: 7 года 2 мес. назад пользователем Alexandr_7.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Время создания страницы: 0.109 секунд
Работает на Kunena форум