Jusper Jusper

alexprey,

кажется отпустило.

Zemlaynin Zemlaynin

alexprey, спасибо :) Сейчас вот художник новый разрабатывает палитру (спойлер к следующему дневнику :) :

...
alexprey alexprey

Jusper, у меня тоже норм показывает картинку
Zemlaynin, старый вариант пока что лучше, новый выглядит так, как-будто просто отключили освещение)

Zemlaynin Zemlaynin

Jusper,
Странно, я ее вижу

Jusper Jusper

Zemlaynin

Картинка потерялась.

Ato_Ome Ato_Ome

Сегодня приступили к созданию Quest панели, пока набросал макет

id44474404 id44474404

Всем привет!
Продолжаю собирать по крупицам свою MMORPG с элементами RTS, но на этой неделе геймплейно практически ничего не поменялось, но практически закончил работу над "типами" монстров и вскоре это появится в игре...

...
Jusper Jusper

Diabfall,

Да, можно.

Diabfall Diabfall

Jusper, спасибо. Еще короткий вопрос: можно же как-то отследить нажатие на коллайдер и то на какой именно коллайдер было совершено нажатие? Если ответ - да и да, то можешь закрывать тему.

Jusper Jusper

Вот один из примеров: https://habr.com/ru/post/472770/

Jusper Jusper

Делаешь UI менеджер и делаешь конфиг рыцарей. Когда игрок нажимает на рыцаря, UI менеджер ловит это через Listener, дергает его параметры и передает в окно. Окно при появлении делает update данных и отрисовывает результат...

...
Diabfall Diabfall

Jusper, смотри, что я хочу сделать. У меня будет таблица (панель) со списком "рыцарей". При нажатии на любого рыцаря из списка будет открываться отдельная панель с его параметрами. При этом число рыцарей мб рандомным...

...
Jusper Jusper

Вариантов не так много.
Либо ты делаешь через событие нажатия On Click, либо делаешь менеджер UI, который будет обрабатывать нажатие конкретной кнопки (а ее тоже надо будет определить) и set active для назначенного объекта...

Diabfall Diabfall

У меня есть одинаковые панельки. Когда я нажимаю уcловно button "Quests", выводится панелька "Quests", а все другие панельки закрываются. Ну и с другими панельками аналогично.
Мне просто показалось, что через On Click ...

Jusper Jusper

Давай конкретнее кейс.
У тебя есть панельки, когда ты нажимаешь на кнопку панелька открывается/появляется. Так?

Jusper Jusper

Diabfall,

Взгляни на следующие способы:

  • Static переменные (жует int, bool, string, float, double)
  • ...
Diabfall Diabfall

Jusper,

Да. Спасибо.

Jusper Jusper

Diabfall,

Да. Все заработало?

Diabfall Diabfall

ты про это?

Diabfall Diabfall

Действительно. Я наверное поехал просто и в глаза долблюсь.

Логотип проекта Game Maker

Скрипты в GameMaker 2.3

Насколько я знаю GameMaker обновился до версии 2.3 и среди его изменений поменялась работа скриптов. Теперь они запускаются ВСЕ при старте игры, а при создании сразу прописывают в себе функцию.

Это ни разу не помогло мне с проектом.

Изначально скрипты срабатывали только при "получении" запроса от объекта или других скриптов, что было очень удобно, так как те, что нужны для функций, имели их а те, что служили для быстрых проверок и изменений, не запускались до нужного момента.

После обновления всё пошло наперекосяк и новые скрипты будут запускаться вместе с остальными.

Как быть? Не прописывать же все нужные мне действия сугубо на объекты и иметь только три скрипта с функциями. Как вернуть старый их функционал и отключить их глобальный запуск? Есть ли способ создать неактивный скрипт?

Я очень рассчитываю на вашу помощь кто знает решение - на мой проект было потрачено время а начинать с нуля на другой платформе будет очень тяжело.

Ответ

В GMS сильно поменялась структура функционала, но не все корректно мигрируется из старых проектов. Если тебе не критичны новинки, то переходить на него стоит только с новым проектом.

Смотрите также:


Комментарии



Учитывая то, что написано в данной статье обратно включить это не получится и придется действительно обернуть код скриптов в функции.

Кратко из документации:

  • Раньше скрипты были индивидуальными и изолированными
  • Использование скриптов как функций усложняло работу IDE и понимание их параметров и описаний, поэтому пришли к явному определению функций для скрипта
  • Теперь все скрипты являются глобальными и все переменные и функции в нем объявляются на уровне глобального пространства (Global Scope)
  • Благодаря этому добавились какие-то новые фичи

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

Как быть? Не прописывать же все нужные мне действия сугубо на обьекты и иметь только три скрипта с функциями.

Я так понимаю, тебе достаточно обернуть код твоих скриптов в функции внутри этого же файла и указать правильный набор аргументов

Это совсем не радостная новость. Меня вполне устраивал функционал старой работы скриптов и я даже выработал некоторую систему, которая позволяла через скрипты настраивать работу объектов и прочего. Принудительная же переделка в функции у меня не сработает из за структур некоторых скриптов-индивидуалистов, от которых зависит нормальная работа других объектов.

Можно ли сделать тогда другой аналог? Который будет контролировать работу объектов.

Насколько я понял проще установть последнюю версию перед 2.3 и продолжить работать под ней. Новинка не стоит свеч после переделки скриптов

В GMS сильно поменялась структура функционала, но не все корректно мигрируется из старых проектов. Если тебе не критичны новинки, то переходить на него стоит только с новым проектом.

Возможность добавлять комментарии была ограничена