Как Я Сделал Виджет Управления Питанием Для Своего Браузерного Симулятора Космических Полетов

Сегодня я сделал для себя небольшой фрагмент кода и решил поделиться с сообществом его содержимым и историей создания.

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

Сначала скажу то, что мне действительно хотелось: Мне нужен слайдер - аналог регулятора громкости, совмещенный с прогресс-баром.

Это компонент управления мощностью чего-либо, совмещенный с одновременной индикацией этой мощности.

Иногда мощность может превышать установленный предел в 100% — необходимо отобразить этот уровень и правильно рассчитать процент. Иногда мощность может уходить ниже нуля (не знаю, может ли, но я на всякий случай предусмотрел такую возможность) и этот уровень тоже должен отображаться.

Более того, устройство, которое мы регулируем, может быть инертным и ускоряться не с той скоростью, с которой мы задаем значение.

Если нажать кнопку форсажа в самолете, двигатели через некоторое время перейдут в режим форсажа.

То есть вам нужно отдельно задать значение прогрессбара, а также отдельно получить и установить текущее значение ползунка.

Может я хреновый искатель, но в конце концов я психанул и решил сделать свой: Здесь связь по результату, а под катом описание процесса



Начинать

Сначала давайте создадим структуру виджетов:
   

var PowerControlWidget = function(settings){ this.container = settings.container || undefined ; this.canvas = document.createElement('CANVAS'); this.canvas.height = this.height; this.canvas.width = this.width;

Теги: #tutorial #canvas #JavaScript #tutorial #canvas #JavaScript #canvas
Вместе с данным постом часто просматривают:

Автор Статьи


Зарегистрирован: 2019-12-10 15:07:06
Баллов опыта: 0
Всего постов на сайте: 0
Всего комментарий на сайте: 0
Dima Manisha

Dima Manisha

Эксперт Wmlog. Профессиональный веб-мастер, SEO-специалист, дизайнер, маркетолог и интернет-предприниматель.