Table

Материал из wiki.appsalutecreator.com
Перейти к: навигация, поиск

Общие параметры

Таблица имеет набор стандартных параметров (см. описание параметров Object).

Tabletext.png

Таблица (Тable) является универсальным объектом. Она может использоваться как:

- самостоятельный элемент включая в себя различные элементы (Image, Text, Button, Machine и пр.);

- дополнение к таким объектам как Patchwork, HiddenList, Invetory и др. Выступая в роли «поля» для отображения их элементов.

Table4.png

Table5.png

Table6.png

Для того чтобы поместить объекты в таблицу, необходимо внести их в группу таблицы в дереве проекта. Заполнение таблицы происходит по столбцам. Если в таблице число видимых колонок/строчек меньше общего количества колонок/строчек, то, в таком случае, таблицу можно листать в нужном направлении.

Основные параметры таблицы

  • курсор (curs) - графический ресурс курсора текущего и всех дочерних объектов;
  • указатель (pointer) - Объект указывающий на произвольное место таблицы, в параметры (pCurCol,pCurRow,pCurIndex) будет записываться позиция ячейки на которую указывает пивот объекта. При вызове состояния flytopointer таблица будет перематываться на ячейку указанную в параметрах (pNewCol,pNewRow,pNewIndex).
Table new1.png

Группа - таблица

(Курсивом в скобках указан id параметра, или состояния)

  • подложка объект (bgobj) - Объект картинка на которой выводится таблица. Задумывалась картинка, которая будет тайлиться до размеров таблицы. В дереве не важно где хранить этот объект.
  • колонок (cols) - Максимальное число колонок (ячейки должны поместиться).
  • колонок видно (cShw) - Количество колонок, видимых в области вывода таблицы (если включен флаг: ширина фиксированная).
  • строчек (rows) - Максимальное число строчек (ячейки должны поместиться).
  • строчек видно (rShw) - Количество строчек, видимых в области вывода таблицы (если включен флаг: высота фиксированная).
  • скорость листания (vel) - Скорость листания страниц (точек/секунду).
  • отсечение (cut) - "ширина и высота" - обрезать графику таблицы по ширине и высоте; "ширина" - обрезать графику таблицы по ширине; "высота" - обрезать графику таблицы по высоте; "нет" - не обрезать.
  • добавлять по строкам (bystr) - 1 - добавлять по строкам; 0 - добавлять по столбцам.
  • центрировать (cntr) - "нет" - не центрировать (ячейки заполняются начиная от левого края таблицы); "растянуть" - если количество заполненных ячеек меньше видимых, то они равномерно растягиваются по длине таблицы (при этом только увеличивается расстояние между ячейками); "прижать к центру" - если количество заполненных ячеек меньше видимых, то эти ячейки располагаются по центру таблицы (при этом расстояния между ячейками не увеличиваются).
  • добавлять только видимые - добавлять только видимые объекты таблицы (vis=1)

Группа - бордюры таблицы

  • бордюр X (dx) - Ширина бордюра по x (отступ во внутрь слева и справа) от подложки или от ширины объекта для отображения видимых ячеек.
  • бордюр Y (dy) - Ширина бордюра по y (отступ во внутрь сверху и снизу) от подложки или от высоты объекта для отображения видимых ячеек.
  • отступ X (dxC) - Отступ по x во внутрь (слева и справа) в ячейке, чтобы содержимое соседних ячеек не сливалось.
  • отступ Y (dyC) - Отступ по y во внутрь (сверху и снизу) в ячейке, чтобы содержимое соседних ячеек не сливалось.

Группа - смещение

  • смещ. X - Смещение по x объекта в ячейке.
  • смещ. Y - Смещение по y объекта в ячейке.
  • фон X - Смещение по x фона в ячейке.
  • фон Y - Смещение по y фона в ячейке.
  • зачеркивания X - Смещение по x ресурса зачеркивания ячейки.
  • зачеркивания Y - Смещение по y ресурса зачеркивания ячейки.

Группа - размеры ячеек

  • фон - Графический ресурс фона ячейки. Перетаскивается мышкой из редактора ресурсов. Может отсутствовать.
  • ширина фиксированная - Если равно 1, то ширины колонок будут фиксированные и определяются полем: колонок видно.
  • высота фиксированная - Если равно 1, то высоты строчек будут фиксированные и определяются полем: строчек видно.
  • сжимать - Если равно 1, то будет сжимать картинки без искажения пропорций, чтобы они помещались в ячейке.
  • текущая колонка - Номер первой видимой колонки, начиная с 0-ля.
  • текущая строка - Номер первой видимой строки, начиная с 0-ля.

Группа - параметры текста

  • текстID (tTxtID) - Текст (id из редактора текста), отображаемый построчно в таблице.
  • текст (tTxt) - Cтрока, отображаемая в таблице.
  • имя (fn) - Номер шрифта - целое число, начиная с 0 (порядковый номер шрифта).
  • размер (fs) - Размер шрифта в поинтах.
  • цвет 1 (fc1) - Цвет текста обычного вида.
  • цвет 2 (fc2) - Цвет текста помеченной ячейки.
  • alpha2 (al2) - Прозрачность картинки в помеченной ячейке.
  • поз. гориз. (cellAlHor) - Горизонтальное выравнивание текста (0 - нет выравнивания; 1 - прижать к левому краю; 2 - центр; 3 - к правому).
  • поз. верт. (cellAlVer) - Вертикальное выравнивание текста (0 - нет выравнивания; 1 - прижать к верхнему краю; 2 - центр; 3 - к нижнему).
  • цвет зачеркивания 1 (str_c1) - Цвет зачеркивания текста обычного вида.
  • цвет зачеркивания 2 (str_c2) - Цвет зачеркивания текста помеченной ячейки.
  • ресурс зачеркивания (crRes) - Графический ресурс зачеркивания ячейки. Перетаскивается мышкой из редактора ресурсов (поле должно находится в состоянии редактирования). Может отсутствовать.
  • толщина зачеркивания (str_s) - Толщина зачеркивания в пикселях.
  • отступ (skip) - Вертикальное расстояние в пикселях в одной ячейке между словами в словосочетании (например в словосочетании Морская звезда, если оно не помещается горизонтально в одну ячейку - это вертикальное расстояние между Морская и звезда).

Группа - анимация перемещения ячеек

  • анимация - (0-выкл, 1-вкл), где 0 - быстрое перемещение ячейки без анимации,
  • скорость анимации - время перемещения ячейки при включенной анимации.

Дополнительные параметры

Группа - Управление

Table new2 new.PNG

Когда таблица листаемая, можно отображать индикаторы страниц. У каждого индикатора два состояния: вкл - если соответствующая страница видна на экране и выкл в противоположном случае. Нажав на соответствующий индикатор, таблица перемещается со скоростью, указанной в параметре "скорость листания" на необходимую страницу.

  • индикатор ВКЛ - Картинка включенного индикатора.
  • индикатор ВЫКЛ - Картинка выключенного индикатора.
  • левая кнопка - Кнопка для листания списка влево.
  • правая кнопка - Кнопка для листания списка вправо.
  • верхняя кнопка- Кнопка для листания списка вверх.
  • нижняя кнопка - Кнопка для листания списка вниз.
  • отступ X - Отступ по x от таблицы.
  • отступ Y - Отступ по y от таблицы.
  • отступ W - Отступ между ячейками таблицы индексов.

Группа - листание

  • изинг скорости листания (scrVelEasing) - Изинг скорости листания (шаблоны)
  • макс. скорость листания (scrMaxSpeed) - Максимальная скорость листания при броске
  • макс. длинна листания в страницах (scrMaxPages) - Максимальная длинна листания при броске в страницах - максимальное кол-во страниц (элементов?), на которое можно листнуть таблицу за раз
  • тип листания - Тип листания таблицы: 0 - по страницам; 1 - в зависимости от скорости (IOS).
  • листать как книгу - да - при нечетном колличестве добавляемых страниц будут добавляться пустые ячейки; нет - листание по колличеству видимых ячеек.
  • старт листания - Смещение в точках, начиная с которого скролим таблицу.
  • гориз. листание - Горизонтальное листание таблицы: 0 - выключено; 1 - включено.
  • вертик. листание - Вертикальное листание таблицы: 0 - выключено; 1 - включено.
  • цикл. листание - Циклическое листание таблицы: 0 - выключено; 1 - включено.
  • листание 360 градусов - Разрешено листание в двух направлениях: 0 - выключено; 1 - включено.
  • затухание - Затухание скорости листания таблицы: 0 - выключено; 1 - включено.

Добавляемые параметры

Table2 1.PNG

Открывается при нажатии правой кнопки мыши в поле параметров таблицы.

+.png ширина настраиваемая

  • ширина колонок - Через точку с запятой указываем ширину колонок по-порядку.

+.png высота настраиваемая

  • высота строчек - Через точку с запятой указываем высоту строчек по-порядку.

+.png добавить ячейку в таблицу

  • текстID - Строка (id из редактора строк), отображаемая в ячейке.
  • текст - Строка, отображаемая в ячейке.
  • картинка - Картинка, рисуемая в ячейке (строки игнорируются).

+.png изменить состояние объекта - при тапе

  • объект - Строка которого мы меняем.
  • состояние - Значение нового состояния.

+.png при листании влево - изменить состояние объекта

  • объект - При смене текущей страницы в таблице перевести объект в состояние из следующего поля.
  • состояние - Новое состояние для объекта из предыдущего поля.

+.png при листании влево - изменить параметр (свойство) объекта

  • объект - При смене текущей страницы в таблице этот объект меняет свой параметр.
  • свойство - Параметр, который мы изменяем.
  • значение - Новое значение параметра.

+.png при листании вправо - изменить состояние объекта

  • объект - При смене текущей страницы в таблице перевести объект в состояние из следующего поля.
  • состояние - Новое состояние для объекта из предыдущего поля.

+.png при листании вправо - изменить параметр (свойство) объекта

  • объект - При смене текущей страницы в таблице этот объект меняет свой параметр.
  • свойство - Параметр, который мы изменяем.
  • значение - Новое значение параметра.

+.png при листании вниз - изменить состояние объекта

  • объект - При смене текущей страницы в таблице перевести объект в состояние из следующего поля.
  • состояние - Новое состояние для объекта из предыдущего поля.

+.png при листании вниз - изменить параметр (свойство) объекта

  • объект - При смене текущей страницы в таблице этот объект меняет свой параметр.
  • свойство - Параметр, который мы изменяем.
  • значение - Новое значение параметра.

+.png при листании вверх - изменить состояние объекта

  • объект - При смене текущей страницы в таблице перевести объект в состояние из следующего поля.
  • состояние - Новое состояние для объекта из предыдущего поля.

+.png при листании вверх - изменить параметр (свойство) объекта

  • объект - При смене текущей страницы в таблице этот объект меняет свой параметр.
  • свойство - Параметр, который мы изменяем.
  • значение - Новое значение параметра.

Состояния таблицы

Так же мы можем управлять таблицей изменяя ее состояния.

  • first - Перелистнуть на первую страницу таблицы.
  • last - Перелистнуть на последнюю страницу таблицы.
  • prev - Перелистнуть на предыдущую страницу таблицы (влево по горизонтали).
  • next - Перелистнуть на следующую страницу таблицы (вправо по горизонтали).
  • up - Перелистнуть на следующую страницу таблицы (вверх по вертикали).
  • down - Перелистнуть на предыдущую страницу таблицы (вниз по вертикали).
  • refresh - Обновить таблицу.
  • reload - перезаполнить таблицу. Необходимо в случае, когда объекты в таблицу добавляются путем установки таблицы в качестве родителя (передаём сразу при смене родителя, после каждой смены родителя).
  • flyto - Таблица плавно приедет к значению curRow и curCol, если они были изменены.
  • flytopointer - перелистывание таблицы на ячейку указанную в параметрах pNewCol, pNewRow, pNewIndex. В таблице должен быть задан указатель. В параметры pCurCol, pCurRow, pCurIndex будет записываться позиция ячейки на которую указывает пивот указателя.
  • movetopointer - мгновенное перелистывание таблицы на ячейку указанную в параметрах pNewCol, pNewRow, pNewIndex. В таблице должен быть задан указатель. В параметры pCurCol, pCurRow, pCurIndex будет записываться позиция ячейки на которую указывает пивот указателя.
  • find- состояние, по которому таблица найдет объект, указанный в параметре find_obj и результат поиска запишет в параметр found_Col и found_Row.

Если изменить таблице значение параметра (текущего рядка или столбика), то после необходимо передать таблице состояние refresh или flyto, чтобы увидеть изменения. При refresh рядок или столбец поменяется мгновенно, при flyto таблица "приплывет" к нужному рядку или столбцу.

Вычитываемые параметры

  • maxRow - Количество заполненных строк.
  • maxCol - Количество заполненных колонок.
  • curRow - Текущая строка.
  • curCol - Текущая колонка.
  • clickRow - Номер последней нажатой строки.
  • clickCol - Номер последнего нажатого столбца.
  • pCurCol - Номер колонки, на которую указывает пивот указателя. До вызова состояний flytopointer или movetopointer pCurCol=-1.
  • pCurRow - Номер строки, на которую указывает пивот указателя. До вызова состояний flytopointer или movetopointer pCurRow=-1.
  • pCurIndex - Индекс ячейки, на которую указывает пивот указателя. До вызова состояний flytopointer или movetopointer pCurIndex=-1.
  • find_obj - Объект который нужно найти в состояние (find)

Использование таблицы для анимации

Использование состояния flyto

Иногда нужно получить анимацию выезда (или другого движения) некоторого объекта (окна, рисунка и тд) на экран. Это можно сделать с помощью таблицы. Ниже приведен пример для движения вниз (с постепенным пропаданием объекта из видимости). Делаем следующее: создаем таблицу(ее параметры приведены на рисунке) нужного размера(как минимум, чтобы поместился нужный объект). В нее помещаем 2 объекта: пустой рисунок(при движении он заменит собой движущийся объект) и объект-родитель(image размером 0*0 ), в котором находится объект, который будет двигаться.

Важно! Для корректного отображения объекта в таблице, нужно:

  • Создать таблицу и разместить ее нужным образом,.
  • Разместить объект родитель посередине движущегося объекта
  • Поместить движущийся объект в родителя
  • Поместить родителя в таблицу

Если нужно подкорректировать положение объекта в таблице, то нужно изменять именно его координаты. Изменение координат родителя не приведет к смещению объекта на экране вьювера.

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

Расположение в дереве проекта Машина, запускающая анимацию Параметры таблицы

В объекта-родителя можно помещать не только картинки, но и машины(которые могут реализовывать собственное движение, при этом, при попадании за край таблицы, объект постепенно уходит из зоны видимости). Также в родителя можно поместить еще одну анимацию с помощью таблицы.


В данном случае нужно движение по вертикали вниз. Для этого таблица имеет следующие параметры: 1 столбец, 2 строки, нелистаемая( тк не нужно взаимодействовать с объектами ). Принцип работы прост ячейка (1,0) заменяется на (0,0).


Передвижение предмета под границу окна

Такой же эффект можно достичь, если использовать ректангл. Помещаем окно в ректангл и задаем ему параметр отсечение. Использование ректангла потребляет меньше ресурсов.

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

Для этого помещаем наше окно в родительский объект(до помещения окна в родителя, родитель должен находится в центре окна). После создаем таблицу по размеру окна, и располагаем ее на сцене нужным образом. Потом помещаем в нее объект-родитель. Теперь таблица является границами видимости окошка и его элементов. Всё, что будет за границами таблицы будет невидимо. После этого, желательно, поместить таблицу в image 0*0.

Расположение в дереве проектаПараметры таблицы

В данном случае у таблицы 1 столбец, 1 строка и 1 ячейка, в которой находится наше окошко. Листаться объекты в таблице не должны, но с ними нужно взаимодействовать. Если отключить листание вообще, то объекты не реагируют на воздействие. Для того, чтобы объекты вели себя корректно, делаем следующее: включаем листание 360 градусов (по горизонтали и вертикали) и выставляем большое значение в параметра "старт листание(чтобы клик по окошку таблица не воспринимала как попытку листания)".


Состояние Find

Для реализации состояние find, по которому таблица найдет объект, указанный в параметре find_obj и результат поиска запишет в параметр found_Col и found_Row. Необходимо создать переменную. Реализация состояние find, по которому таблица найдет объект.

Перемещение ячеек таблицы

Параметры таблицы:

  • moveCellColFrom - указываем номер ячейки (в столбце), которую хотим переместить
  • moveCellRowFrom - указываем номер ячейки (в строке), которую хотим переместить
  • moveCellColTo - указываем номер ячейки (в столбце), в которую хотим вставить нужную нам ячейку
  • moveCellRowTo - указываем номер ячейки (в строке), в которую хотим вставить нужную нам ячейку
  • moveCellAnim - (0-выкл, 1-вкл), где 0 - быстрое перемещение ячейки без анимации
  • moveCellAnimTime - время перемещения ячейки при moveCellAnim = 1


Состояние moveCell - запуск перемещения ячейки

Круговая таблица

Заполняет таблицу по кругу (фактически элипс):

Econom calendar viewer.png
Table circular settings.png
  • включить (circularTable) - использовать искаженную круговую таблицу.;
  • уход по альфе (alphaFading) - включение ухода ячеек по альфе (чем дальше от центра, тем меньше альфа);
  • элементов вокруг (elemAroundMid) - сколько объектов отрисовывать от центрального элемента, включая центральный.;
  • эллипс - ширина (ellipseA) - ширина эллипса - коэффициент А в уравнении.;
  • эллипс - глубина (ellipseB) - глубина эллипса - коэффициент В в уравнении.;
  • минимальный скейл (minVisibleScale) - минимальный скейл ячейки для её отрисовки.;
  • применение перспективы (fovApplying) - уровень применения эффекта FOV.;
  • тапательные зоны (clickHandler) - родитель масок, которые будут прятаться при листании таблицы и они же должны обрабатывать нажатия по таблице ( в связи с тем, что круговая таблица лишь визуально перерисовывается, нажатия по элементам таблицы обрабатывает по старинке);
  • выключение тапательных зон (clHDisabling) - смещение в пикселях, начиная с которого мы прячем тапальные зоны;
  • обработчик событий (eventHandler) - слушатель листания таблицы (состояния - "fly_beg","flying","fly_end");

Пример

Download