Войти на сайт

Авторизация, ждите ...
×
  • Страница:
  • 1
  • 2

ТЕМА: (Разрешение) Display модуль. Меняем размер окна.

(Разрешение) Display модуль. Меняем размер окна. 9 года 4 нед. назад #79132

  • KageDesu
  • KageDesu аватар
  • Вне сайта
  • Мастер
  • Сообщений: 101
  • Спасибо получено: 346
Скрипт, меняющий размер окна на ACE, я не нашёл, возможно плохо искал, решил написать сам.
Может кому и пригодится.
Display модуль

Информация:

Автор: Pheonix KageDesu

Спасибо: Grim и Raho (github.com/funkywork/RME)

Версия скрипта: 1.2 (3.06.2015)

Версия мейкера: VX ACE (RGGS 3)

Тип: Компонент, дополняющий систему

Условия использования/Лицензия: Данный скрипт можно использовать в любых проектах (в том числе и коммерческих), если указано моё авторство (Pheonix KageDesu) на данный скрипт.

Описание:

Возможность устанавливать новое разрешение окна игры.
Как использовать: PKD_Display.set_1024
Доступные разрешения:
PKD_Display.set_1024 - 1024 x 768 (Оптимальное)
PKD_Display.set_800 - 800 x 576 (Минимальное)
PKD_Display.set_720p - 1280 x 704 (Максимальное, можно и больше)

Если вы хотите сделать игру с разрешением меньше 800 x 576, то работу скрипта не гарантирую.

Скрипт экспериментальный, возможны недочёты и баги.

Особенности:

  • Оптимизировано под стандартный RPG VX ACE (переписаны почти все окна и сцены)

  • Карты маленького размера автоматически центрируются на экране

    Код:

    pastebin.com/d3bkLjLh

    Скриншоты (1024 x 768):

    ВНИМАНИЕ: Спойлер! [ Нажмите, чтобы развернуть ]


    Скачать:

    Демо (.rar архив, 1,6 Мб)
    Яндекс.Диск
  • Последнее редактирование: 8 года 10 мес. назад от KageDesu. Причина: Новая версия
    Администратор запретил публиковать записи гостям.
    За этот пост поблагодарили: I_LORD, DeadElf79, strelokhalfer, Jas6666, EvilWolf, MaltonTheWarrior, Wewander, Uzuzu74

    (Разрешение) Display модуль. Меняем размер окна. 9 года 4 нед. назад #79133

    • strelokhalfer
    • strelokhalfer аватар
    • Вне сайта
    • Архитектор Миров
    • Знатный грамотей
    • Сообщений: 1640
    • Спасибо получено: 1078
    • Даритель Стимкея2 место Сбитая кодировка2 место ПереводчикОрганизатор конкурсовПрограммист Ruby
    Приложи ссылки на пастбин, лень аддон для архиватора качать)
    "Стрелок, что-то ты неочень похож на свой аватар..."(с)
    Администратор запретил публиковать записи гостям.

    (Разрешение) Display модуль. Меняем размер окна. 9 года 4 нед. назад #79134

    • KageDesu
    • KageDesu аватар
    • Вне сайта
    • Мастер
    • Сообщений: 101
    • Спасибо получено: 346
    Обновил тему, добавил ссылку на Pastbin. Всё засунул в один файл.
    У скрипта настроек особо нет, только в самом конце указывается какое разрешение нужно установить.

    P.S. У кого есть возможность открыть .rar, лучше демку скачать, нагляднее.
    Администратор запретил публиковать записи гостям.
    За этот пост поблагодарили: DeadElf79, strelokhalfer

    (Разрешение) Display модуль. Меняем размер окна. 9 года 4 нед. назад #79135

    • strelokhalfer
    • strelokhalfer аватар
    • Вне сайта
    • Архитектор Миров
    • Знатный грамотей
    • Сообщений: 1640
    • Спасибо получено: 1078
    • Даритель Стимкея2 место Сбитая кодировка2 место ПереводчикОрганизатор конкурсовПрограммист Ruby
    Ну, в конце...
    Многие шапку то не читают)
    "Стрелок, что-то ты неочень похож на свой аватар..."(с)
    Администратор запретил публиковать записи гостям.

    (Разрешение) Display модуль. Меняем размер окна. 9 года 3 нед. назад #79205

    • Seibur
    • Seibur аватар
    • Вне сайта
    • Просветлённый
    • Сообщений: 371
    • Спасибо получено: 308
    • РазработчикВетеран
    При изменении размера окна - выдает ошибку. После попытки вернуть все на место и поставить прежний размер - выдает ошибку. Скрин последнего предоставляется.
    Вложения:
    Будь таким, каким хочешь казаться.
    Администратор запретил публиковать записи гостям.

    (Разрешение) Display модуль. Меняем размер окна. 9 года 3 нед. назад #79207

    • strelokhalfer
    • strelokhalfer аватар
    • Вне сайта
    • Архитектор Миров
    • Знатный грамотей
    • Сообщений: 1640
    • Спасибо получено: 1078
    • Даритель Стимкея2 место Сбитая кодировка2 место ПереводчикОрганизатор конкурсовПрограммист Ruby
    Возьми скрипт из демки, у тебя с кодировкой что то не то.
    "Стрелок, что-то ты неочень похож на свой аватар..."(с)
    Администратор запретил публиковать записи гостям.
    За этот пост поблагодарили: KageDesu

    (Разрешение) Display модуль. Меняем размер окна. 9 года 3 нед. назад #79213

    • Seibur
    • Seibur аватар
    • Вне сайта
    • Просветлённый
    • Сообщений: 371
    • Спасибо получено: 308
    • РазработчикВетеран
    strelokhalfer пишет:
    Возьми скрипт из демки, у тебя с кодировкой что то не то.
    Именно в демке и менял

    Поставил отдельно скрипт - работает. Поставил "максимальное и больше" - в оконном режиме нормально, а при попытке развернуть игру на весь экран, выдает команду прекращения работы программы.

    При 800 на 600 тоже прекращает работу программы, при попытке развернуть на весь экран

    --убрал трипл-пост. сейбур, на будущее - есть кнопка "редактировать", не надо писать много коротких постов с разницей во времени меньше, чем в сутки --эльф
    --окаюшки, эльф. кстати ты про кнопку "изменить"? если да, то я тебя понял -- сэйбур
    Будь таким, каким хочешь казаться.
    Последнее редактирование: 9 года 3 нед. назад от Seibur.
    Администратор запретил публиковать записи гостям.

    (Разрешение) Display модуль. Меняем размер окна. 9 года 3 нед. назад #79231

    • KageDesu
    • KageDesu аватар
    • Вне сайта
    • Мастер
    • Сообщений: 101
    • Спасибо получено: 346
    Seibur, к сожалению, поддержки работы в полно-экранном режиме не было в планах. (У меня жутко мерцает экран в таком режиме)

    Но можно включить.

    Заместо команды PKD_Display.set_..., используйте команду Resolution.change(X, Y). Заместо X и Y любое из стандартных разрешений экрана.
    Пример:
    Resolution.change(1280,720) - будет работать в полно-экранном режиме.

    P.S. В версии скрипта 1.0, если одно из значений разрешения не кратно 32, будет небольшой артефакт внизу карты при её прокрутке.
    Администратор запретил публиковать записи гостям.
    За этот пост поблагодарили: Seibur

    (Разрешение) Display модуль. Меняем размер окна. 9 года 1 нед. назад #79757

    • Wewander
    • Wewander аватар
    • Вне сайта
    • Познающий
    • Сообщений: 19
    • Спасибо получено: 3
    Просмотрел скрипт, поколдовал, вот, что заметил...
    1. У тех, кого не работает скрипт из вложений в 1-ом сообщении, можете спокойно взять скрипт с pastebin.com/gQLbGjRq, правда не могу понять, почему он больше выложенного.
    2. Размер экрана можно менять и в самой игре (скрин предоставлен)
    3. Если выставить максимальное для вас разрешение, то при приближении к нижней части экрана, там будет проглядываться полоса с верхней частью карты (но за нее зайти зайти нельзя)
    4. Если изменить в самой игре размер экрана, то нужно после выйти в меню, только тогда экран нормализуется. (Можно просто нажать Esc)
    5. При полном экране, картинка в начале игры не меняет размер, нужно искать другую
    ВНИМАНИЕ: Спойлер! [ Нажмите, чтобы развернуть ]
    Вложения:
    Последнее редактирование: 8 года 2 мес. назад от Wewander.
    Администратор запретил публиковать записи гостям.
    За этот пост поблагодарили: KageDesu

    (Разрешение) Display модуль. Меняем размер окна. 8 года 11 мес. назад #80370

    • Uzuzu74
    • Uzuzu74 аватар
    • Вне сайта
    • Оседлый
    • Сообщений: 36
    • Спасибо получено: 3
    Если в настройках карты включить панораму, то она отображаться не будет.
    Можно ли это исправить?
    И второе будут ли в дальнейшем у скрипта не стандартные разрешения, например 1024х683
    Последнее редактирование: 8 года 11 мес. назад от Uzuzu74.
    Администратор запретил публиковать записи гостям.
    За этот пост поблагодарили: KageDesu, Wewander

    (Разрешение) Display модуль. Меняем размер окна. 8 года 11 мес. назад #80605

    • KageDesu
    • KageDesu аватар
    • Вне сайта
    • Мастер
    • Сообщений: 101
    • Спасибо получено: 346
    Uzuzu74, для применения не стандартного разрешения, заместо команды PKD_Display.set, используйте:
    Resolution.change(1024, 683). (Либо другие цифры, главное кратность 32)

    Над панорамой поработаю, при тестировании скрипта не обратил на это внимание.

    Wewander, по поводу Вашего 3-го пункта, это из-за не кратности разрешения 32.

    5 пункт доработаю вместе с панорамой.

    А вообще по пунктам 2,4,5, то скрипт не рассчитан на динамическую смену разрешения в игре, планировалось что разрешение будет выбрано заранее и под него нарисована картинка для титульного экрана.

    Пункт 1. Команда Kernel.load() не может подгрузить скрипт, если в пути есть русские буквы. Узнал об этом недавно, в новой версии уберу.
    Администратор запретил публиковать записи гостям.
    За этот пост поблагодарили: Wewander

    (Разрешение) Display модуль. Меняем размер окна. 8 года 11 мес. назад #80664

    • Wewander
    • Wewander аватар
    • Вне сайта
    • Познающий
    • Сообщений: 19
    • Спасибо получено: 3
    Заметил вот еще какую ошибку, при написании сообщения на темном и прозрачном экране, сообщение располагается по краю экрана.
    Что насчет несовместимости?
    ВНИМАНИЕ: Спойлер! [ Нажмите, чтобы развернуть ]
    Последнее редактирование: 8 года 11 мес. назад от Wewander. Причина: Дополнение информации
    Администратор запретил публиковать записи гостям.

    (Разрешение) Display модуль. Меняем размер окна. 8 года 11 мес. назад #80892

    • KageDesu
    • KageDesu аватар
    • Вне сайта
    • Мастер
    • Сообщений: 101
    • Спасибо получено: 346
    Скрипт обновил.
    # Версия 1.1 (08.05.2015)
    # - Фоновое изображение главного меню теперь "растягивается" под разрешение
    # - Мелкие правки в размерах окон
    # - Отображение картинок относительно края экрана (можно отключить)
    # - Панорама


    Wewander, скрипт Khas Awesome Light Effects пока не смотрел.
    Насчёт ошибки с сообщением, прикрепите скриншот, не очень понятно.
    Администратор запретил публиковать записи гостям.
    За этот пост поблагодарили: MaltonTheWarrior, Wewander

    (Разрешение) Display модуль. Меняем размер окна. 8 года 11 мес. назад #81127

    • Хроно
    • Хроно аватар
    • Вне сайта
    • Познающий
    • Сообщений: 13
    Скрипт отличньій!
    А как менять размерьі окон (меню/сообщения/боевая сцена/ и т.д.) пропорцьіонально к разрешению?
    Администратор запретил публиковать записи гостям.

    (Разрешение) Display модуль. Меняем размер окна. 8 года 10 мес. назад #81689

    • KageDesu
    • KageDesu аватар
    • Вне сайта
    • Мастер
    • Сообщений: 101
    • Спасибо получено: 346
    Нужно Обновить до версии 1.2
    В скрипте (в начале) есть секция:
    	#Размеры для окон 
    	W = 544 #По умолчанию 544 
    	H = 480 #По умолчанию 480
    Измените значения (W - ширина, H - высота)
    Администратор запретил публиковать записи гостям.
    За этот пост поблагодарили: Хроно

    (Разрешение) Display модуль. Меняем размер окна. 8 года 10 мес. назад #81802

    • Хроно
    • Хроно аватар
    • Вне сайта
    • Познающий
    • Сообщений: 13
    Ок. У меня возникли праблемьі со скриптом:
    Когда я пьітаюся изменить размер окна в "class Window_MenuStatus < Window_Selectable", оно не дайот етового зделать, та, как перекрьівается вашьім скриптом. А также не дйот задать положение для окна "class Window_Gold < Window_Base" по той же причине. Что нужно изменить в вашем скрипте, штоб задавать положения вьіше упомянутьіх акон?
    Администратор запретил публиковать записи гостям.

    (Разрешение) Display модуль. Меняем размер окна. 8 года 10 мес. назад #81804

    • DeadElf79
    • DeadElf79 аватар
    • Вне сайта
    • Звездный Страж
    • Сообщений: 3147
    • Спасибо получено: 2650
    • 3 местоОрганизатор конкурсовВетеранУчительПисатель 3 местоПроект месяца 1 место1 место в ГотвПроект месяца 2 местоПрограммист Ruby
    Хроно, кратенькая инструкция:
    1. создай новую страницу скрипта в редакторе скриптов ниже данного скрипта
    2. впиши в неё такой код:
    class Window_MenuStatus < Window_Selectable
     
    end
    3. между первой и последней строкой ты можешь вставлять методы, связанные с тем, с чем тебе нужно, самый простой вариант - для изменения положения
    4. помни - ты можешь не копировать целиком и полностью содержимое оригинального класса, а вписывать только то, что тебе нужно, например:
    class Window_MenuStatus < Window_Selectable
      def initialize(x=100, y=200)
        super(x, y, 300, 400)
        @pending_index = -1
        refresh
      end
    end

    Если захочешь понять, как это работает, то, не бегая по всем интернетам, получи лаконичное объяснение - руби позволяет расширять, изменять и полностью переписывать ЛЮБЫЕ созданные классы и модули. А вот почему - это ты можешь найти и почитать в специализированной литературе и/или на википедии ^_^
    P.S. Специально для опытных наших скриптёров: прошу не начинать разговоры про алиасы и прочее в дополнение к моей инструкции, пусть человек хотя бы с этим разберётся.
    Администратор запретил публиковать записи гостям.
    За этот пост поблагодарили: Хроно

    (Разрешение) Display модуль. Меняем размер окна. 8 года 10 мес. назад #81829

    • Хроно
    • Хроно аватар
    • Вне сайта
    • Познающий
    • Сообщений: 13
    Разабрался. Пасиба. Но к окошку отображения золота ето не подошло.(
    Болле того: оно совсем пропало. (Координати пьітался менять, не помогло)
    Последнее редактирование: 8 года 10 мес. назад от Хроно.
    Администратор запретил публиковать записи гостям.

    (Разрешение) Display модуль. Меняем размер окна. 8 года 10 мес. назад #81831

    • DeadElf79
    • DeadElf79 аватар
    • Вне сайта
    • Звездный Страж
    • Сообщений: 3147
    • Спасибо получено: 2650
    • 3 местоОрганизатор конкурсовВетеранУчительПисатель 3 местоПроект месяца 1 место1 место в ГотвПроект месяца 2 местоПрограммист Ruby
    К окошку золота: попробуй заменить первую строку на это:
    "class Window_Gold < Window_Base"
    А потом зайди на страницу со скриптом Window_Gold, скопируй полностью функцию initialize и настрой по своему.
    Вот даже нашел время и написал код, пробуй:
    class Window_Gold < Window_Base
    def initialize
        super(100, 200, 300, 400)
        refresh
      end
    end
    Последнее редактирование: 8 года 10 мес. назад от DeadElf79.
    Администратор запретил публиковать записи гостям.
    За этот пост поблагодарили: Хроно

    (Разрешение) Display модуль. Меняем размер окна. 8 года 10 мес. назад #81835

    • Хроно
    • Хроно аватар
    • Вне сайта
    • Познающий
    • Сообщений: 13
    Пасиба! Оно паявилась, как аказалось беда бьіла в том, что прога задайот положение окна куда-то вниз, за екран, отсюда радилась праблема:
    Прога отказивается менять палажение етага окна на екране. Какие координатьі я ему не задаю - оно не реагирует ни на пиксель, хоть там 10, хоть там 1000, менят толька размер окна.
    Администратор запретил публиковать записи гостям.
    • Страница:
    • 1
    • 2
    Модераторы: NeKotZima
    Время создания страницы: 0.342 секунд