Представляю Вам свою реализацию классов для lua. Классы создаются статически. На данный момент позволяет использовать области видимости static, public и override (private существует отдельно от наработки). Реализовано наследование. Основной задачей было организовать однородную структуру кода вне зависимости от выполняемой задачи и совместимость с EmmyLua (VsCode Lua от sumneko). Буду рад объективной критике.
Сегодня темных троллей осталось так мало, что их существование считается сомнительным... Герой создан в рамках Конкурса героев.
Наработка превращает нажатия клавиш W, A, S, D, Ctrl, Space в нормированный Vector3, который можно сразу применять к юниту.
- Нормализация позволяет обезопасить управление от всех этих страйфов и распрыжек, равномерно направляя юнита в любую из комбинаций сторон.
- Для удобства использует eventDispatcher, тем самым подключаться к ней можно буквально в GUI.
- Сама регистрирует на всех игроков-людей.
- Можно задавать свой набор клавиш.
Демо видео внутри.
Библиотека геометрии, реализованная на Lua в ООП формате.
Из вкусного:
- Functions - вспомогательные функции типа обрезки и вычисления разного вида интерполяций
- Vector3 - класс 3D вектора с перегруженными мат. операторами, поддержкой 3D конверсии из игровых структур и обратно, интерполяциями, применениями сферических оффсетов, проверок нахождения в сфере и ящике, трансформаций матриц и другое
- Matrix3 - класс 3x3 матрицы с множеством разных конструкторов типа осей вращения и оператором перемножения
- Matrix4 - класс 4x4 матрицы, он самый простой - с операторами сравнения и перемножения
- Box - класс для работы с кубоидами, содержащий методы получения объёма, расширения, включения, пересечения с другими фигурами и др.
- Sphere - класс для работы со сферами, содержащий методы получения объёма, включения, пересечения с другими фигурами и др.
- Ray - класс для работы с лучами и получение точек пересечения с объектами
- Camera - класс для хранения данных о камере и возможностью конвертировать оконные координаты и координаты сцены между собой
Страница навигации наработок, заклинаний волшебника NazarPunk для игры WarCraft 3 на lua и не только.
15 янв 2020
Рано или поздно любой разработчик (Даже в Вар3 модмейкинге) начинает работать в команде, и современные технологии, как всегда помогают облегчить этот процесс. И так встречайте, ультра дешёвый, быстрый, крутой, современный, супер, бупер, дупер сборщик карт, на lua и для lua через обмен данных Гитхаб.
При работе с несколькими картами, часто возникает необходимость копировать в них множество кода облегчающего разработку. В цивилизованном мире для этого используют менеджеры пакетов с зависимостями, контролем версий и автоматическим обновлением. В суровых реалиях варкрафта об этом можно только мечтать, но если вы используете дешёвый сборщик, то всё у вас в руках, и можно смело написать жалкое подобие менежджера пакетов.
Если вы пользуетесь подсветкой кода во внешнем редакторе, то наверняка сталкивались с проблемой переноса его в карту. Можно конечно использовать WLPM или его аналоги, но мы пойдём путём наименьшего сопротивления и будем собирать lua с помощью lua.
Эта статья открывает цикл статей по редактированию интерфейса и в ней будут собраны все ссылки по данной теме.
Каждый со временем приходит к мысли, что создавать отдельный триггер на каждую способность накладно. В этой статье мы рассмотрим простой способ это всё оптимизировать.
Стандартное воскрешение героя подходит не всем. В этой статье мы рассмотрим другие способы воскресить героя.
`
ОЖИДАНИЕ РЕКЛАМЫ...