Добавлен МиниЗавод
В какой версии варкрафт3 можно нативно менять интерфейс прямо во время игры?
Хочется услышать мнения бывалых
Хочется услышать мнения бывалых
`
ОЖИДАНИЕ РЕКЛАМЫ...
Чтобы оставить комментарий, пожалуйста, войдите на сайт.
Текущие ограничения и проблемы при создании интерфейса - нет фрейма, ответственного за полноценный прокручиваемый список с другими функциональными фреймами, его просто нет в движке рефорджа. Обойти можно с помощью костылей, используя, как вариант наработку FrameFlow.
Кастомный интерфейс также сбрасывается при загрузке сохраненной игры, надо это учитывать и занового вызывать код, ответственный за кастомный интерфейс при загрузке сохраненной карты. Спокойно делается на гуи в 2 строчки.
Пара советов: создаваемые фреймы надо заносить в переменные и обращаться к ним, как к переменной. Функция GetFrameByName может иногда тупить, если на основе фрейма, с которому обращаются, уже создано много других фреймов.
Если создаешь анимированный фрейм на основе модельки mdx, лучше подгружать путь модельки заранее через Preload, иначе на прогрузке файла модельки фрейма может возникнуть микро-фриз. Как работать с Preload тоже куча статей.
Некоторые нативки могут вызывать диссинхрон. Какие именно - также есть в цикле статей.
Ред. nazarpunk
Ред. gellin
Все делается спокойно. Просто в качестве родителя фрейма надо указывать полноразмерный фрейм, поддерживающий широкоформатную сетку. Это ConsoleUiBackdrop (для версии от 1.32+) и оригинальный эдитбокс (для 1.31). При этом надо делать интерфейс с учетом того, что для игроков "квадратных" мониторов широкоформатные фреймы будут выходить за размер экрана. Это чуть муторно, надо делать скрипт, считающий соотношение сторон и две версии интерфейса. Но это реально. Сам сейчас делаю кастомный интерфейс для своего проекта. При этом если делать фреймы с умом, то в большинстве случаев вторая версия не нужна. Ну типа если делать широкоформатный фрейм тупо текстурой, то надо рисовать вторую текстуру под 4:3, а если делать фрейм с заполнением фона текстуры и текстурой рамки, то достаточно скриптом рассчитывать ему границы.
Все эти приемы и наработки формул также есть в описанном выше гайде, но с навыком сам все начинаешь писать и считать.