Прогресс бар с динамическим на нем
22 июня 2017 14:51
22 июня 2017 14:57
Добрый день.Есть серия урокой на базе игры Сказ о Пятигоре с подробным описанием таких вещей, вот один из них с интересующим вас функционалом.
Подскажите как сделать динамический прогресс бар, с динамическим меняемым текстом поверх него, например прогресс бар здоровья персонажа или прогресс бар с отчетом времени.
Blend4Web и всё такое. Тридешу тридэ, моделю модели.
22 июня 2017 16:17
Немного не то, html прогресс бар это не проблема , если рассматривать данный пример. Меня интересует немного другое. допустим есть сцена с 10ком персонажей и нужно сделать прогресс бар над теми у кого HP меньше 100 процентов, при этом поверрх прогресс бара нужно выводить тикающий таймер до полного восстановления.
С точки зрения управления данными и таймером меня вопрос не интересует, у меня уже написан клиент с листингом объектов и их состоянием ХП, меня интересует вопрос как сделать этот прогресс бар на сцене.
Например я бы мог рисовать динамически такой такой объект из двух прямоугольников (подложка и сам прогресс), но к примеру функции drawRect в апи нету, а m_object.create_line не создает объект линий, даже если я нарисую прямоугольники динамически, нету методов в API для рисования текста.
С точки зрения управления данными и таймером меня вопрос не интересует, у меня уже написан клиент с листингом объектов и их состоянием ХП, меня интересует вопрос как сделать этот прогресс бар на сцене.
Например я бы мог рисовать динамически такой такой объект из двух прямоугольников (подложка и сам прогресс), но к примеру функции drawRect в апи нету, а m_object.create_line не создает объект линий, даже если я нарисую прямоугольники динамически, нету методов в API для рисования текста.
22 июня 2017 16:57
Добрый день,
Давайте рассмотрим пример простого случая. Прогрессбар - простая полоска
Можно добавить объект на сцену, который будет являться прогрессбаром. Для каждого персонажа его копировать, для изменения значения использовать нодовый сетап, использующий ноду value. Т.е. поставить в соответсвие длину полоски значениям ноды и через API его менять.
Сложный случай, прогрессбар - цифра
Тут начало тоже самое, добавляем, копируем. Но для изменения значения уже используем канвас-текстуру. В качестве текстуры тут используется 2D канвас со всеми его возможностями, в том числе и с возможностью рисовать текст
меня интересует вопрос как сделать этот прогресс бар на сцене
Давайте рассмотрим пример простого случая. Прогрессбар - простая полоска
Можно добавить объект на сцену, который будет являться прогрессбаром. Для каждого персонажа его копировать, для изменения значения использовать нодовый сетап, использующий ноду value. Т.е. поставить в соответсвие длину полоски значениям ноды и через API его менять.
Сложный случай, прогрессбар - цифра
Тут начало тоже самое, добавляем, копируем. Но для изменения значения уже используем канвас-текстуру. В качестве текстуры тут используется 2D канвас со всеми его возможностями, в том числе и с возможностью рисовать текст
22 июня 2017 17:03
22 июня 2017 17:08
22 июня 2017 17:31
Роман, может быть проще тогда сделать объект на него наложить канвас текстуру, и все полоски и текст отрисовывать с помощью canvas 2d api ?
Можно и так, первый вариант подходит в отсутвие текста. Значение ноды меняется на шейдере, всё происходит быстро.
Рисование в 2Д канвас работает тормознее, поэтому стоит задумываться перед изменением текстуры. Вообще, да. Вы можете рисовать там всё что угодно.
Еще вопрос, туда же, если есть возможность сделать объект с канвас текстурой, возможно ли использовать
можно ли к нему подключить pixi.js для отрисовки в этом spine анимации
Только придётся его вручную обновлять, сам перерисованный канвас нужно ещё обновить в текстуре
22 июня 2017 18:31
22 июня 2017 22:21
23 июня 2017 14:48