22 Feb Checkbox
Posted at 11:47h
in
Как реализовать Checkbox?
Отображение и изменение битовой переменной из контроллера.
1 answer
Добрый день!
Можно делать по разному –
- Для конкретного бита можно использовать слайдер с двумя состояниями – он и покажет текущее значение и позволит переключить его.
- Можно сделать маленькую кнопочку на установку этого бита. С разными цветами для вкл. и откл. состояния.
- Можно для всех битов использовать битовую маску и словарь для текстового значения. Тогда текстом будет отображаться осмысленное значение этого бита. И также кликом можно будет переключить режим.
- В редакторе есть элемент – светодиод (LED), его можно привязать к отображению значения конкретного бита в регистре из контроллера. Если нужно чтобы по клику на этот же светодиод переключился данный бит, то для этого можно использовать полностью прозрачную кнопку и положить слоем выше.
К кнопке нужно привязать скриптик, который сделает нужное действие. Если битов очень много разных, то чтобы не множить скрипты, кнопка может писать некое значение (1 … 32 номер бита) в вспомогательный внутренний регистр. а скрипт в свою очередь смотрит на этот регистр и если он не равен 0, то делает инверсию соотв. бита (+ надо не забыть обнулить вспомогательный регистр, чтобы не было повторного ложного вызова). примеры битовых функций есть в документации.
если нужно, чтобы вместо светодиода был именно checkbox, тогда надо загрузить 2 иконки (пустой и нажатый вариант checkbox’a) и привязать к состоянию нужного бита в контроллере.