Хайпы и патчи📒


Гео и язык канала: не указан, не указан
Категория: не указана



Гео и язык канала
не указан, не указан
Категория
не указана
Статистика
Фильтр публикаций


День 4: Анимированные текстуры и текучие градиенты.

Всем привет! Вчера я спрашивал, чего бы вам хотелось, и получил две идеи. Сегодня я попробовал сделать визуал еще лучше. Результаты получились, на мой взгляд, достаточно неплохим!
1. Анимированные текстуры (UIImage)
Часто в играх хочется видеть не статичные иконки, а анимированные. Раньше для этого пришлось бы писать сложную логику, но теперь все просто!
Что сделано: серьезно доработал элемент UIImage. Теперь у него есть метод .setAnimation(), который позволяет превратить статичную картинку в покадровую анимацию.
Как это работает? Вы просто даете ему ленту кадров (один png-файл, где кадры идут друг за другом и настраиваете анимацию одной строкой: animatedImage.setAnimation(5, 100, true);
5 — это количество кадров в вашей текстуре.

100 — время отображения каждого кадра в миллисекундах (скорость анимации).

true — означает, что кадры в файле расположены вертикально (если горизонтально — false).
Внутренняя логика элемента сама заботится о переключении кадров в методе update(), а render() отрисовывает только нужную часть текстуры.
2. Плавный радужный градиент для кнопок Надеюсь меня не посадят
Вчера сделал простую радужную отрисовку элементов. Но это было слишком "топорно". Хотелось плавности и красоты.
Что сделано: полностью переработал анимацию setRainbowAnimation(true). включает плавно движущийся градиент!
Как это работает? Вместо того чтобы заливать кнопку одним цветом, теперь в методе render() мы вычисляем сразу два цвета из радужного спектра, но с небольшим смещением. Затем, с помощью fillGradient(), создаем плавный переход между ними. Поскольку основной оттенок (hue) постоянно меняется в цикле update(), этот градиент течёт по поверхности кнопки, создавая очень красивый эффект.
Итог дня: Сегодня сделал неплохой шаг от статичного UI к по-настоящему динамичному. Анимированные текстуры и текучие градиенты открывают массу возможностей для кастомизации и создания уникального стиля.
Что дальше? В следующий раз займусь доработкой выбора из списка, что бы еще хотели увидеть? Жду ваших идей в комментариях


Видео недоступно для предпросмотра
Смотреть в Telegram


День 3.

Продолжаем делать упрощенные GUI! Сегодня решил поработать над визуалом и добавил немного, но всё же добавил, сделал функцию градиентов для фигур:
UIRect gradientRect = new UIRect(50, 50, 150, 80, 0xFF8822BB, 0xFF2288DD);

анимации для кнопок, тут удалось добавить несколько видов анимации, он не сильно отличаться, но Easу Back как пружинка:
easeBackButton.setEasing(Easing::easeOutBack);

сделал функцию кнопки выбора, но, как по мне, её надо доработать.
UIDropdown dropdown = new UIDropdown(200, 50, 120, 25, dropdownOptions, selectedOption -> {
UIUtils.chat("Выбрано: " + selectedOption);
});
В общем, сегодня сделал немного, но зато поле для развития есть! Подскажите, пожалуйста, что бы вы хотели увидеть или, может, создать сами, но не можете?


Видео недоступно для предпросмотра
Смотреть в Telegram


Видео недоступно для предпросмотра
Смотреть в Telegram


День 2.

Сегодня хочется поговорить о неотъемлемой части Майнкрафта и модов GUI. Их достаточно сложно делать и продумывать, хочется, чтобы интерфейсы можно было писать буквально в несколько строчек, и вот я решил своровать некий прием в программировании, который активно используется в пайтоне и его библиотеках, он называется виджет-ориентированный подход. Если просто объяснять, этот прием выглядит так: мы обращаемся к элементу, говорите ему, как он должен себя вести, через ряд уже заготовленных параметров. Например, то, что вы видите на видео, сделано очень просто:

public class ExampleUI {

public static void open() {
UIScreen screen = new UIScreen();

String complexText = "§fПривет! Это §b§lПончик§r.\n\n" +
"§7• §aПоддержка цветов§r Комти работает, он очень крутой, я его фанат.\n" +
"§7• §eСкроллбар§r Комти работает, он очень крутой, я его фанат.\n" +
"§7• §dРесайз§r Комти работает, он очень крутой, я его фанат.\n" +
"§7• §nТекст§r Комти работает, он очень крутой, я его фанат.\n\n";

UITextWindow textWindow = new UITextWindow(30, 30, 220, 160, complexText);
textWindow.setDraggable(true);
textWindow.resizable = true;
screen.addElement(textWindow);

Minecraft.getInstance().setScreen(screen);

}
}

Конечно же, за этим стоит очень много кода, но то, что человек без глубоких знаний программирования, пользуясь документацией, может спокойно создавать интерфейсы и использовать их в своих проектах, поражает. Сейчас доступны отрисовки геометрических фигур, создание окон, кнопок, картинок, чекбоксов, слайдеров, текста.
Хочется услышать мнение об такой функции и стоит ли ее развивать, если да, то через недельку можно это дропать и хайповать жестко.


Так вот, день 1.

Сегодня я обновил NLibCutscene, а точнее, пофиксил некоторую недоработку, изначально мод создавался только для внутреннего пользования нашими разработчиками, и поэтому над его внешним видом никто сильно не замарачивался, перед релизом внешний вид был сильно переработан, НО мод был только на одном языке, для того чтобы переводить моды, используются как бы специальные ключи, например Component.translatable("screen.nlibcutscene.select"), b -> onSelect()); тут "screen.nlibcutscene.select" выполняет роль ключа перевода, сам перевод пишется в файле en_us.json или же ru_ru.json, и так с каждым языком. Далее всё просто, мы просто пишем наш ключ и перевод к нему: "screen.nlibcutscene.select": "Select", "screen.nlibcutscene.select": "Выбрать", вот и всё, мы сделали перевод на разные языки. И так с каждым компонентом, а их совсем не мало. Совет, если вы делаете мод, то делайте сразу с переводами, потом очень скучно искать все элементы и переделывать их в ключи перевода!


У меня тут вышел один мод, на написание этого мода меня сподвиг Пончик.
И этот мод NLibCutscene:

https://modrinth.com/mod/nlibcutscene
https://www.curseforge.com/minecraft/mc-mods/nlibcutscene

Если вкратце, то это функция катсцен и очень удобный функционал их создания, портированный из нашего движка. Благодаря этому моду каждый может запросто применять камератографичные приемы в создании карт на прохождение или сборок.
В общем-то я подумал, что мне стоит начать делать что-то для комьюнити Майнкрафта, вдохновлялся я многодневным марафоном Халвы, который написал свой невероятный движок в майне за два месяца и делал какие-то функции каждый день.

https://youtu.be/tpK35rMM8U0




Дорогое, любимое и многоуважаемое хлебобулочное изделие круглой формы с отверстием посередине, которое в теории можно насадить на палец, как кольцо, можете пожалуйста зайти в канал "Милис (иногда) бывает на Месте" и ответить там в комментариях на последние сообщения, которые я адресовал вам.
С любовью, ваш любимый Мистер Милис.


Это если что макет ускорителя частиц, круто да?


Видео недоступно для предпросмотра
Смотреть в Telegram
Спустя столько времени...


ПОНЧИК С ДНЁМ РОЖДЕНИЯ!!!!!!!!!!!


Ну что хлебобулочный, с Днем рождения, с днем хайпа тебя!
Продолжай творить и работать над HypeStyle с ещё большим интузиазмом и желанием!


Когда-нибудь я стану ткачом...


С Новым годом всех, желаю в этом году больше ХАЙПА, завозов, ну и, конечно, исполнения всех ваших желаний и появления новых!


Что-то я проспал 20к


10к


Видео недоступно для предпросмотра
Смотреть в Telegram
Препод информатики в школе👩‍💻:



Показано 20 последних публикаций.

29

подписчиков
Статистика канала