2.06.2017 / 06:41 | |
Витаминыч Супермодератор Сейчас: Offline
Имя: Василиус Откуда: RZN Регистрация: 20.04.2012
| DominaN, Окно быстро создается?
__________________
わからない!! |
2.06.2017 / 07:04 | |
Death Пользователь Сейчас: Offline
Имя: Смерть Регистрация: 31.07.2015
| Витаминыч, Очень быстро! Весит демка чуть больше 1мб. Вот это меня сильно удивило.
__________________
Смерть правит миром |
2.06.2017 / 09:00 | |
Magatino Администратор Сейчас: Offline
Имя: Alexandr Откуда: Где Ленин родился. Simbirsk City Регистрация: 28.01.2011
| А можно как-нибудь описать в ПП на какой платформе проект и языке программирования, а то я томат и думаю, качать или не качать |
2.06.2017 / 09:33 | |
Витаминыч Супермодератор Сейчас: Offline
Имя: Василиус Откуда: RZN Регистрация: 20.04.2012
| Magatino, На Java SE
__________________
わからない!! |
21.06.2017 / 03:39 | |
DominaN Пользователь Сейчас: Offline
Имя: Кирилл Откуда: Смоленск Регистрация: 28.09.2011
| Пример UI. Оказалось баги править и править, а потом еще структуру UI, а потом опять баги. Еще исправил забавный баг с мышкой, которая не обновлялась, пока не двигалась, поэтому дельта не сбрасывалась, что обнаружилось когда я делал перетаскивание окна. ДА ЧТО НЕТАК С КАРТИНКОМЕ? Изменено deamonsik (21.06 / 07:45) (всего 2 раза) |
21.06.2017 / 09:35 | |
Alexandr Пользователь Сейчас: Offline
Имя: Александр Откуда: Днепр Регистрация: 01.07.2012
| DominaN, vgui делаешь? |
21.06.2017 / 09:41 | |
DominaN Пользователь Сейчас: Offline
Имя: Кирилл Откуда: Смоленск Регистрация: 28.09.2011
| Цитата Alexandr: DominaN, vgui делаешь? Если кто не знал, VGUI - это Valve GUI А вообще да, давно уже пилю. Хочу в отдельную либу вынести. |
21.06.2017 / 09:47 | |
Alexandr Пользователь Сейчас: Offline
Имя: Александр Откуда: Днепр Регистрация: 01.07.2012
| DominaN, |
6.03.2018 / 14:27 | |
Death Пользователь Сейчас: Offline
Имя: Смерть Регистрация: 31.07.2015
| Ну как там? Жив? Очень интересно что будет дальше)
__________________
Смерть правит миром |
12.04.2018 / 00:47 | |
DominaN Пользователь Сейчас: Offline
Имя: Кирилл Откуда: Смоленск Регистрация: 28.09.2011
| Давненько я ничем не радовал, ибо были проблемы с ноутом, но теперь вот снова взялся за движок. А сегодня хочу представить результат моих экспериментов в разделении его на отдельные модули - модуль fenyx-utils, который представляет сборник небольших полезных классов-утилит и компилируется без привязки к основному ядру движка (fenyx-core). Я компилировал на чистом JDK8, возможно и на 7 версии скомпилится, но придется слегка обработать наждачкой. Итак, что в нем имеется? Открыть спойлер Закрыть спойлер - AWTImage.java - небольшой класс, который создает из обычного BufferedImage удобную обертку для представления изображения в формате OpenGL. Все, что требуется - передать BufferedImage в конструктор (с отдельным именем, или без). На выходе получаем класс с параметрами высоты, ширины, наличия прозрачности и выровненным нативным ByteBuffer, который можно скармливать OpenGL. (На самом деле сам по себе класс довольно специфический и используется в составе загрузчика ресурсов). Так же присутствует метод обновления графических данных без пересоздания самого объекта AWTImage, что способствует экономии памяти. - BufferUtils.java - ну тут вроде понятно, содержит методы для быстрого создания NIO буфферов, начиная от Byte, заканчивая Double. - MathUtils.java - тут довольно продвинутый класс. Используется для получения рандомных чисел через статический рандом, включая int, long, float, double и рандомного цвета в формате int_rgb. Так же присутствуют удобные обертки для основных математических функций (sin, cos, tan, sqrt, min, max, bound, pow, а так же метод angle, удобный для использования в алгоритме поиска цели (вычисление угла между двумя точками и направления между ними), а так же быстрая сортировка массивов). Не все функции работают со всеми примитивными типами, но в большинстве случаев методы с нужными аргументами легко добавляются по аналогии, просто в движке они не использовались изначально. - ResourceUtils.java - самый, наверное монструозный класс из всех. Служит для менеджмента игровыми (ну или любыми другими) ресурсами. Предоставляет удобный доступ к root-папке приложения относительно расположения исполняемого jar файла (может быть временно, или постоянно отключено через метод useRootDirectory). Реализует часть функционала IO, такого как создание файлов и папок, проверка наличия файла или папки, листинг файлов в папке, установка текущей директории напрямую (полезно для файл-менеджеров). Имеются методы для загрузки файлов из ФС в виде raw-byte массива, в виде единой строки, в виде массива строк (разделяются спецсимволом каретки "\n", можно легко дополнить перегруженным методом с дополнительным параметром сплиттера). Так же присутствует метод загрузки TTF-шрифтов с указанным размером, флагами и без. Ну и наконец метод загрузки AWTImage, про который я говорил ранее - что важно с КЭШИРОВАНИЕМ всех загруженных изображений, что позволило сократить использование памяти до 30-60%, в зависимости от количества используемых изображений. - StringUtils.java - класс для удобной работы со строками. Позволяет удобно разделять строки по сепаратору в массив, объединять из массива в одну строку, объединять неограниченное количество отдельных строк или любых переменных в единую строку, заменять части строк по паттерну, тримить строки. Для всего используются наиболее быстрые методы из доступных, включая статический StringBuilder, и основное удобство состоит в вызове единых методов, вместо написания кучи кода вручную.
Вот, как-то так. Надеюсь, будет полезно GitHub |