DKTools v.10.0.5
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Проценты я могу сделать и во втором слайдере, точно также, как и кнопки '-' и '+'. Меня больше интересует мнение по самой полоске. Нужен ли этот бегунок или нет.AnnTenna пишет: На мой взгляд первый, потому что кажется более наглядным в отображении процентов
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
- Dobroe_Utro
-
- Не в сети
- Заблокирован
-
- Сообщений: 9
- Спасибо получено: 5
А кнопки + и - вообще без надобности. Работают они медленней и менее удобно, чем перетаскивание ползунка. А если с клавиатуры, то требуют лишних манипуляций при выборе и так же медленно изменяют значение.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Dobroe_Utro пишет: Как сказал грин зей, 2-й лучше, но при условии альтернативной регулировки стрелками влево-вправо.
А кнопки + и - вообще без надобности. Работают они медленней и менее удобно, чем перетаскивание ползунка. А если с клавиатуры, то требуют лишних манипуляций при выборе и так же медленно изменяют значение.
Вчера была разработана новая версия слайдера, который совмещает в себе 2 предыдущих версии. Скорость изменения значения при нажатии кнопок + и - зависит от длительности нажатия на них.
По поводу старых слайдеров: они оба изменяются с клавиатуры с одинаковой удобностью. В первом случае не нужно было выбирать клавишей кнопку + или -. Курсор распространяется на весь слайдер и при нажатии клавиш + или - они просто анимируются. В новом слайдере также, но ещё скорость зависит от длительности нажатия.
Вот новый слайдер: yadi.sk/i/gviDB5kevqtUK
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Работает это следующим образом: вы создаете определенное событие, которое может быть трех типов: ожидание, обновление, анимация. Указываете функцию-обработчик для этого события.
В случае события-ожидания, указывается время ожидания (если существуют события-ожидания, то события обновления и анимации вызываться не будут)
И на это собственно все. Теперь спрайт будет обрабатывать ваши события, вызывая соответствующие функции.
Например, в спрайт встроено событие-ожидание для плавного перемещения:
yadi.sk/i/u13QKtyhvuUTE
А вот весь код для данного перемещения:
this.sprite_move.move(18, 400, 100, true); // координата x, y, время ожидания, ждать выполнения
this.sprite_move.move(400, 18, 100, true);
this.sprite_move.move(400, 400, 100, true);
this.sprite_move.move(18, 18, 100, true);
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Допустим, вы захотели анимировать спрайт по определенному маршруту и, чтобы этот маршрут повторился 5 раз. Не вопрос!
Воспользуемся двумя видами событий: событие-ожидание и событие-обновление.
Сначала добавим событие-обновление, которое вызывается при каждом обновлении спрайта, если у спрайта нет событий-ожиданий. Внутри события-ожидания зададим наш маршрут перемещения спрайта. Каждый вызов функции move создает в спрайте событие-ожидание с длительностью 15 фреймов. И пока у спрайта есть события-ожидания, наше событие-обновление вызываться не будет. То есть, сначала спрайт совершит свое перемещение по маршруту, а потом продолжит обновлять событие-обновление. Также мы настроили наше событие-обновление на 5 повторений. То есть маршрут мы увидим 5 раз.
Готовый код:
var duration = 15;
this.sprite.addUpdateEvent(function(event) {
this.sprite.wait(30);
this.sprite.move(18, 400, duration, true);
this.sprite.move(400, 18, duration, true);
this.sprite.move(400, 400, duration, true);
this.sprite.move(18, 18, duration, true);
p(event.duration);
}.bind(this), 5);
Видео: yadi.sk/i/hfATgLjhvx9WV
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Основные изменения:
- Добавлены функции в стандартный класс Array (да, EvilCat, знаю, что небезопасно
) - Добавлены функции в класс Bitmap
- Отредактирован класс DKToolsInputManager
- Добавлены функции в класс TouchInput, а именно функции для отслеживания координат мыши на экране
- Добавлен класс событий DKToolsEvent
- Соединил класс DKTools_Sprite_Button и DKTools_Sprite
- Добавил некоторые свойства классам
- Добавил новые функции классам
- Добавил события всем классам (подробнее ниже)
- Клонирование спрайтов вышло из бета версии
- Изменена структура контейнера (добавлена настройка рядов и столбцов)
- Контейнер теперь может быть перевернутым (расположение спрайтов)
- Многие классы были переписаны буквально с нуля и был изменен родительский класс у них
- Глобальный рефакторинг кода + обновление документации (документация еще неполная, потому что не в приоритете стоит)
- Элемент ввода текста DKTools_Input_Base теперь может вводить только текст, только числа, только символы + разные комбинации этих параметров
- Новый элемент DKTools_Clicker_Base - "Кликер". Позволяет установить несколько битмап и переключаться циклически по нажатию на элемент
- Элемент DKTools_ColorPicker_Base немного упрощен
- Глобальное изменение DKTools_Slider_Base. Недавно делал голосование за лучший слайдер, потом было принято решение соединить оба варианта, что оказалось очень хорошей идеей. Сейчас же слайдер представляет собой немного видоизмененную версию вариантов с голосования
Это обновление по большей части посвящается глобальной оптимизации элементов (код теперь больше соответствует общепринятому стилю JavaScript и стилю плагинов в RPG Maker) и событиям
В: Что такое события?
О: События - некоторые действия, которые могут происходить со спрайтом или окном
В: Как пользоваться событиями?
О: Пользоваться событиями достаточно легко. Вы вызываете нужную функцию создания события (их 3), указываете тип события, функцию-обработчик события и длительность события, также есть еще 2 необязательных параметра. События - это объекты класса DKToolsEvent
В: Какие типы событий есть?
О: У базового спрайта есть следующие типы событий (у дочерних элементов есть дополнительные типы):
- wait - события, которые вызываются при каждом обновлении спрайта (блокируют вызов update)
- update - события, которые вызываются при каждом обновлении спрайта
- start - события, которые вызываются при вызове функции start элемента
- ready - события, которые вызываются при готовности элемента (изображения загружены)
- free - события, которые вызываются при готовности элемента и отсутствии событий типа wait
- activate - события, которые вызываются при вызове функции activate элемента (активации нажатий элемента)
- deactivate - события, которые вызываются при вызове функции deactivate элемента (деактивации нажатий элемента)
- mouseEnter - события, которые вызываются при наведение мыши на элемент (срабатывают один раз)
- mouseStay - аналогично предыдущему типу, но срабатывают каждый фрейм, пока мышь находится на элементе
- mouseLeave - события, которые вызываются, когда мышь покидает элемент (срабатывают один раз)
- click - события, которые вызываются, когда пользователь нажимает на элемент (простой клик)
- longPress - события, которые вызываются, когда пользователь долго нажимает на элемент (длительное нажатие)
- wheelX - события, которые вызываются, когда пользователь крутит колесо мыши по оси X (не видел таких, но в мейкере реализовано, и я тоже решил добавить)
- wheelY - события, которые вызываются, когда пользователь крутит колесо мыши по оси Y
Есть различные функции для удаления событий, проверки событий и прочее. Также у некоторых элементов встроены свои обработчики событий.
Например, у DKTools_Sprite есть функция move, которая может передвинуть ваш элемент либо моментально, либо за какой-то промежуток времени, используя событие типа wait.
Есть еще функция moveRoute, которая создает маршрут движения элемента и с помощью этой функции можно создавать различные анимации передвижения элементов
P.S. Ссылка будет обновлена чуть позже.
P.S.S. Напоминаю лишний раз, что плагин еще может содержать ошибки.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Все заинтересованные могут присоединиться к проекту на гитхабе и вносить свои изменения.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Новый класс: Viewport
Он позволяет автоматически скрывать части спрайтов, которые выходят за его границы.
Пример работы на основе движущегося спрайта: Яндекс.Диск
Желтым цветом обозначен вьюпорт.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
А вот и обновление. И сразу 0.94, минуя 0.93
И вот почему: дабы ускорить релиз плагина, было принято решение поделить элементы на "модули", то есть на отдельные плагины. В самом DKTools будут лишь базовые элементы, на основе которых будут строится элементы из модулей.
Работы в принципе осталось мало. Поэтому и решил позволить себе перепрыгнуть версию, тем более было много маленьких обновлений на гитхабе
Что нового:
Вырезаны элементы
Теперь в плагине всего 7 базовых элементов
Практически у всех функций есть документация. Где-то 80-90% всех функций в плагине задокументировано
Некоторые функции могут и не получить документацию, но это только у самых редко используемых или стандартных функций, а также дополненные стандартные функции
Добавлено пару функий в класс Bitmap, Point, Rectangle, Array
Добавлены новые типы событий
Оптимизация кода
Исправлены ошибки
Возможно еще что-то
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
И вот сейчас я выпускаю версию 0.95
Что нового:
Доступ к элементам сделан на основе библиотеки PIXI. Доступ осуществляется через класс DKTools
Например, доступ к спрайту DKTools.Sprite
Добавил вьюпорт
Добавил точку привязки
Добавил вращение
Добавил новые функции
Пофиксил баги
Еще что-то...
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Начиная с этой версии, плагин требует наличие библиотеки lodash в папке js/libs/ вашего проекта
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Что будет в будущем - постараюсь написать на неделе и переоформлю первый пост
А пока немного статистики релиза:
Количество строк (всего): 23891
Количество строк (кода): 21645
Всего классов: 35
Разработка велась 2 года (с 13 января 2016 года)
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Будут различные фиксы, новые функции и обновление документации.
Что будет точно сделано в будущем:
Добавлены слайдеры (класс DKTools.Sprite.Slider)
Что, возможно, будет сделано когда-нибудь:
Менеджер collision
Менеджер drag-and-drop
Сейчас разрабатывается плагин локализации текста совместно с 2 людьми на основе DKTools.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Изменения: github.com/DKPlugins/DKTools/releases/tag/1.1.0
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Основные изменения:
1. Удален класс Viewport (его функции перенесены в Sprite)
2. Добавлен класс EventManager. Раньше события были только у спрайтов и окон, которые наследовались от класса Base, в котором были реализованы функции событий. Теперь эти функции вынесены в отдельный класс, чтобы события можно было использовать и в сценах.
3. Рефакторинг классов (некоторые классы переписаны с помощью ключевого слова class, которое появилось в es6). В будущем все классы будут переписаны через классы.
4. Обновление документации.
Точно не уверен, но, возможно, в версии 2.0.0 будет добавлен класс Unit
P.S. Список не полный. При релизе будет полный список.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
