API iRidium. Анимация
Нативные методы для создания анимации объектов iRidium Studio.
документация обновлена 01.01.2024
Пример: Animation
Описание
Новые нативные методы анимации позволяют создавать точно такую же анимацию как и с помощью библиотеки анимации, но проекты, где используются нативные методы, требует меньше ресурсов устройства.
Методы
Методы создания, редактирования и удаления анимаций:
IR.AddAnimation()
Создание анимации.
Синтаксис:
IR.AddAnimation(
[ in_oAnimation1, in_oAnimation2, … , in_oAnimationN ]
[ in_rItem1, in_rItem2, … , in_rItemN ]
in_nDuration,
in_nDelay,
in_bRepeat,
in_bAutostart,
in_rStartCallBack,
in_rEndCallBack,
in_oContext
);
| На входе | Значение | Описание |
|---|---|---|
| [ in_oAnimation1, in_oAnimation2, … , in_oAnimationN ] | Type: IR.ANIMATION_MOVE_HORIZONTAL, Tween: IR.LINEAR, Duration: 1000, From: 421, To: 300, Return: true, Repeat: true | type: Object Массив анимаций, либо единичный объект в виде JSON объекта Type: тип анимации из списка Tween: тип твинера из списка (дополнительно) Delay: задержка запуска анимации (дополнительно) Duration: длительность анимации (дополнительно) Repeat: повторяемость анимации (дополнительно) Return: переворот анимации в обратную сторону после конца (дополнительно) Parameter1: Value1 … ParameterN: ValueN |
| [ in_rItem1, in_rItem2, … , in_rItemN ] | ["UI.Page 2.Item 21"], IR.GetPage("Page 2").GetItem("Item 1") | type: Object Массив элементов, либо единичный элемент в виде ссылки на графический элемент |
| in_nDuration | 1000 | type: Number Длительность анимации (массива анимаций) (мс) |
| in_nDelay | 0 | type: Number Задержка при старте анимации (массива анимаций) (мс) |
| in_bRepeat | false | type: Boolean Зацикливание анимации (массива анимаций) |
| in_bAutostart | false | type: Boolean Флаг автоматического старта анимации при создании |
| in_rStartCallBack | function onStart() IR.Log(this.OnStart) | type: Object Колбек начала - активирует функцию при старте анимации |
| in_rEndCallBack | function onEnd() IR.Log(this.OnEnd) | type: Object Колбек окончания - активирует функцию по окончанию анимации |
| in_oContext | OnStart: "Animation started", OnEnd: "Animation ended" | type: Object Вызываемый контекст колбеков - функция (this), которую можно вызвать по колбеку начала или окончания анимации |
| На выходе | ||
| in_oAnimation | animation | type: Object Объект анимации |
Параметры анимации зависят от типа анимации, с полным списком параметров можно ознакомиться здесь.
Координаты элемента по X и Y описаны на вкладке General, а так же на динамической панели iRidium Studio. Начало координат расположено в левом верхнем углу.
Пример
//Пример 1 (перемещение элемента по горизонтали из координаты X = 421 в координату X = 300 и обратно
// в течении 1 секунды):
var animation;
//создаём объект анимации:
animation = IR.AddAnimation({
Type: IR.ANIMATION_MOVE_HORIZONTAL, // тип анимации: перемещение по горизонтали
Tween: IR.LINEAR, // линейная функция
Duration : 1000, //длительность анимации 1 сек.
From : 421, // начальная точка X=421
To: 300, // конечная точка Х = 300
Return: true, // повтор анимации в обратном порядке после окончания
Repeat: false // не зацикливать анимацию
},
IR.GetPage("Page 2").GetItem("Item 1"), // привязываем анимацию к элементу
1000, // длительность анимации (массива анимаций)
0, // задержка анимации = 0 (массива анимаций)
false, // анимация (массив анимаций) не зациклина
false, // анимация не начинается по запуску приложения
)
//Пример 2 (перемещение элемента по горизонтали из координаты X = 421 в координату X = 300 и обратно
// в течении 1 секунды с вызовом функций начала и конца анимации):
//создаём объект анимации:
var animation = IR.AddAnimation({
Type: IR.ANIMATION_MOVE_HORIZONTAL, // тип анимации: перемещение по горизонтали
Tween: IR.LINEAR, // линейная функция
Duration : 1000, //длительность анимации 1 сек.
From : 421, // начальная точка X=421
To: 300, // конечная точка Х = 300
Return: true, // повтор анимации в обратном порядке после окончания
Repeat: false // не зацикливать анимацию
},
IR.GetPage("Page 2").GetItem("Item 1"), // привязываем анимацию к элементу
1000, // длительность анимации (массива анимаций)
0, // задержка анимации = 0 (массива анимаций)
false, // анимация (массив анимаций) не зациклина
false, // анимация не начинается по запуску приложения
function() { // активация функции по старту анимации (колбек начала)
IR.Log(this.OnStart);
},
function() { // активация функции по окончанию анимации (колбек окончания)
IR.Log(this.OnEnd);
},
{ OnStart : "Анимация стартовала", OnEnd : "Анимация закончилась" } // описание функций (вызываемый контекст колбеков)
)
IR.RemoveAnimation()
Удаление анимации.
Синтаксис:
IR.RemoveAnimation(in_oAnimation);
| На входе | Значение | Описание |
|---|---|---|
| in_oAnimation | animation | type: Object Объект анимации. |
Пример
animation = IR.AddAnimation({
Type: IR.ANIMATION_SIZE_HORIZONTAL,
Tween: IR.TWEEN_SINE_IN,
Duration : 1000,
From: 96,
To: 189,
Return: true,
Repeat: true
},
["UI.Page 2.Item 21"],
1000,
0,
true,
false,
)
IR.RemoveAnimation(animation)
IR.StartAllAnimations()
Старт всех анимаций.
Синтаксис:
IR.StartAllAnimations();
| На входе | Значение | Описание |
|---|---|---|
| --- | --- | --- |
Пример
function doStartAll()
{
IR.StartAllAnimations();
}
IR.StopAllAnimations()
Остановка всех анимаций.
Синтаксис:
IR.StopAllAnimations();
| На входе | Значение | Описание |
|---|---|---|
| --- | --- | -- |
Пример
function doStopAll() {
IR.StopAllAnimations();
}
.Start()
Запуск анимации.
Синтаксис:
in_oAnimation.Start();
| На входе | Значение | Описание |
|---|---|---|
| in_oAnimation | animation | type: Object Объект анимации. |
Пример
function doStart() {
animation.Start();
}
.Stop()
Остановка анимации.
Синтаксис:
in_oAnimation.Stop();
| На входе | Значение | Описание |
|---|---|---|
| in_oAnimation | animation | type: Object Объект анимации. |
Пример
function doStop() {
animation.Stop();
}
.AddItem()
Добавление графического элемента к анимации
Синтаксис:
in_oAnimation.AddItem(Item)
| На входе | Значение | Описание |
|---|---|---|
| in_oAnimation | animation | type: Object Объект анимации. |
| Item | IR.GetPage("Page 2").GetItem("Item 21") | type: Object Объект графического элемента. |
Пример
function doAddItem() {
animation.AddItem(IR.GetPage("Page 2").GetItem("Item 21"));
}
.RemoveItem()
Удаление графического элемента из анимации.
Синтаксис:
in_oAnimation.RemoveItem(Item)
| На входе | Значение | Описание |
|---|---|---|
| in_oAnimation | animation | type: Object Объект анимации. |
| Item | IR.GetPage("Page 2").GetItem("Item 21") | type: Object Объект графического элемента. |
Пример
function doRemoveItem() {
animation.RemoveItem(IR.GetPage("Page 2").GetItem("Item 21"));
}
.AddParameter()
Добавить параметр к анимации.
Синтаксис:
in_oAnimation.AddParameter(Parameter)
| На входе | Значение | Описание |
|---|---|---|
| in_oAnimation | animation | type: Object Объект анимации. |
| Parameter | Type: IR.ANIMATION_SIZE_HORIZONTAL Tween: IR.TWEEN_SINE_IN Duration: 1000 From: 96 To: 189 Return: true Repeat: true | type: Object Параметр анимации. |
Пример
animation.AddParameter({
Type: IR.ANIMATION_SIZE_HORIZONTAL,
Tween: IR.TWEEN_SINE_IN,
Duration : 1000,
From: 96,
To: 189,
Return: true,
Repeat: true
})
.GetParameter()
Получить параметр по индексу.
Синтаксис:
in_oAnimation.GetParameter(Index)
| На входе | Значение | Описание |
|---|---|---|
| in_oAnimation | animation | type: Object Объект анимации. |
| Index | 0-n | type: Number Номер параметра по порядку. |
| На выходе | ||
| Parameter | Type: IR.ANIMATION_SIZE_HORIZONTAL Tween: IR.TWEEN_SINE_IN Duration: 1000 From: 96 To: 189 Return: true Repeat: true | type: Object Параметр анимации. |
Пример
animation.GetParameter(0);
.GetParametersCount()
Получить количество параметров.
Синтаксис:
in_oAnimation.GetParametersCount()
| На входе | Значение | Описание |
|---|---|---|
| in_oAnimation | animation | type: Object Объект анимации. |
| На выходе | ||
| num | 4 | type: Number Количество параметров. |
Пример
animation.GetParametersCount() //4
.RemoveParameter()
Удалить параметр по индексу.
Синтаксис:
in_oAnimation.RemoveParameter(Index)
| На входе | Значение | Описание |
|---|---|---|
| in_oAnimation | animation | type: Object Объект анимации. |
| Index | 0-n | type: Number Номер параметра по порядку. |
Пример
animation.RemoveParameter(0)
Тип анимации
Тип анимации - это заданное направление движения, вращение, скрытие и другие возможности анимации элементов.
- IR.ANIMATION_MOVE_HORIZONTAL - перемещение элемента по горизонтали из точки в точку;
- IR.ANIMATION_MOVE_VERTICAL - перемещение элемента по вертикали из точки в точку;
- IR.ANIMATION_MOVE - перемещение элемента по диагонали из точки в точку;
- IR.ANIMATION_SHIFT_HORIZONTAL - смещение элемента на определённое кол-во пикселей по горизонтали;
- IR.ANIMATION_SHIFT_VERTICAL - смещение элемента на определённое кол-во пикселей по вертикали;
- IR.ANIMATION_SHIFT - смещение элемента на определённое кол-во пикселей по диагонали пропорционально;
- IR.ANIMATION_SIZE_HORIZONTAL - изменение размеров элемента по горизонтали;
- IR.ANIMATION_SIZE_VERTICAL - изменение размеров элемента по вертикали;
- IR.ANIMATION_SIZE - изменение размеров элемента по диагонали пропорционально;
- IR.ANIMATION_SCALE_HORIZONTAL - масштабирование элемента по горизонтали;
- IR.ANIMATION_SCALE_VERTICAL - масштабирование элемента по вертикали;
- IR.ANIMATION_SCALE - масштабирование элемента по диагонали пропорционально;
- IR.ANIMATION_ROTATE - вращение элемента;
- IR.ANIMATION_OPACITY - отображение/скрытие элемента;
- IR.ANIMATION_VALUE - изменение значения Value элемента.
Параметры анимации
Каждый тип анимации обладает своими уникальными параметрами:
IR.ANIMATION_MOVE_HORIZONTAL
- From - начальная точка перемещения по X (default = текущая позиция);
- To - конечная точка перемещения по X (default = текущая позиция).
IR.ANIMATION_MOVE_VERTICAL
- From - начальная точка перемещения по Y (default = текущая позиция);
- To - конечная точка перемещения по Y (default = текущая позиция).
IR.ANIMATION_MOVE
- From - начальная точка перемещения по X и Y (default = текущая позиция);
- To - конечная точка перемещения по X и Y (default = текущая позиция);
- FromX - координата X начальной точки перемещения (default = текущая позиция);
- FromY - координата Y начальной точки перемещения (default = текущая позиция);
- ToX - координата X конечной точки перемещения (default = текущая позиция);
- ToY - координата Y конечной точки перемещения (default = текущая позиция).
Если есть параметры FromX, FromY, ToX, ToY - используются они, иначе From и To соответственно.
IR.ANIMATION_SHIFT_HORIZONTAL
- From - начальный сдвиг элемента по горизонтали в пикселях (0 - текущее положение, -100 - левее на 100px, 200 - правее на 200px etc.) (default = 0);
- To - количество пикселей на которое элемент будет сдвинут по горизонтали (default = 0).
IR.ANIMATION_SHIFT_VERTICAL
- From - начальный сдвиг элемента по вертикали в пикселях (0 - текущее положение, -100 - левее на 100px, 200 - правее на 200px etc.) (default = 0);
- To - количество пикселей на которое элемент будет сдвинут по вертикали (default = 0).
IR.ANIMATION_SHIFT
- From - начальный сдвиг элемента по диагонали в пикселях (0 - текущее положение, -100 - левее и выше на 100px, 200 - правее и ниже на 200px etc.) (default = 0);
- To - количество пикселей на которое элемент будет сдвинут по диагонали (default = 0);
- FromHorizontal - начальный сдвиг элемента по горизонтали в пикселях (0 - текущее положение, -100 - левее на 100px, 200 - правее на 200px etc.) (default = 0);
- FromVertical - начальный сдвиг элемента по вертикали в пикселях (0 - текущее положение, -100 - левее на 100px, 200 - правее на 200px etc.) (default = 0);
- ToHorizontal - количество пикселей на которое элемент будет сдвинут по горизонтали (default = 0);
- ToVertical - количество пикселей на которое элемент будет сдвинут по вертикали (default = 0).
Если есть параметры FromHorizontal, FromVertical, ToHorizontal, ToVertical - используются они, иначе From и To соответственно.
IR.ANIMATION_SIZE_HORIZONTAL
- From - изначальная ширина элемента (default = текущая ширина);
- To - конечная ширина элемента (default = текущая ширина).
IR.ANIMATION_SIZE_VERTICAL
- From - изначальная высота элемента (default = текущая высота);
- To - конечная высота элемента (default = текущая высота).
IR.ANIMATION_SIZE
- From - изначальная ширина и высота элемента (default = текущие значения);
- To - конечная ширина и высота элемента (default = текущие значения);
- FromWidth - изначальная ширина элемента (default = текущая ширина);
- FromHeight - изначальная высота элемента (default = текущая высота);
- ToWidth - конечная ширина элемента (default = текущая ширина);
- ToHeight - конечная высота элемента (default = текущая высота).
Если есть параметры FromWidth, FromHeight, ToWidth, ToHeight - используются они, иначе From и To соответственно.
IR.ANIMATION_SCALE_HORIZONTAL
- From - начальный коэффициент ширины (если отсутствует, то 1);
- To - конечный коэффициент ширины (если отсутствует то 1).
IR.ANIMATION_SCALE_VERTICAL
- From - начальный коэффициент высоты(если отсутствует, то 1);
- To - конечный коэффициент высоты(если отсутствует то 1).
IR.ANIMATION_SCALE
- From - начальный коэффициент размера (если отсутствует, то 1);
- To - конечный коэффициент размера (если отсутствует, то 1);
- FromHorizontal - начальный коэффициент ширины (если отсутствует, то 1);
- FromVertical - начальный коэффициент высоты (если отсутствует, то 1);
- ToHorizontal - конечный коэффициент ширины (если отсутствует, то 1);
- ToVertical - конечный коэффициент высоты (если отсутствует, то 1).
Если есть параметры FromHorizontal, FromVertical, ToHorizontal, ToVertical - используются они, иначе From и To соответственно.
IR.ANIMATION_ROTATE
- From - стартовый угол вращения (если отсутствует, то вращение с текущего положения угла);
- To - конечный угол вращения.
IR.ANIMATION_OPACITY
- From - стартовая прозрачность элемента (default = текущая прозрачность);
- To - конечная прозрачность элемента (default = текущая прозрачность).
IR.ANIMATION_VALUE
- From - начальное значение (default = текущее значение);
- To - конечное значение (default = текущее значение).
Тип твинера
Твинер - тип вычисления анимации. Формула определяет, как будет вычисляться промежуточное значение на выбранном отрезке. Каждая формула имеет свой номер, который следует передать в функцию при создании анимации.

Имена и номера формул:
- IR.TWEEN_LINEAR = 0;
- IR.TWEEN_SINE_IN = 1;
- IR.TWEEN_SINE_OUT = 2;
- IR.TWEEN_SINE_IN_OUT = 3;
- IR.TWEEN_QUINT_IN = 4;
- IR.TWEEN_QUINT_OUT = 5;
- IR.TWEEN_QUINT_IN_OUT = 6;
- IR.TWEEN_QUART_IN = 7;
- IR.TWEEN_QUART_OUT = 8;
- IR.TWEEN_QUART_IN_OUT = 9;
- IR.TWEEN_QUAD_IN = 10;
- IR.TWEEN_QUAD_OUT = 11;
- IR.TWEEN_QUAD_IN_OUT = 12;
- IR.TWEEN_EXPO_IN = 13;
- IR.TWEEN_EXPO_OUT = 14;
- IR.TWEEN_EXPO_IN_OUT = 15;
- IR.TWEEN_ELASTIC_IN = 16;
- IR.TWEEN_ELASTIC_OUT = 17;
- IR.TWEEN_ELASTIC_IN_OUT = 18;
- IR.TWEEN_CUBIC_IN = 19;
- IR.TWEEN_CUBIC_OUT = 20;
- IR.TWEEN_CUBIC_IN_OUT = 21;
- IR.TWEEN_CIRC_IN = 22;
- IR.TWEEN_CIRC_OUT = 23;
- IR.TWEEN_CIRC_IN_OUT = 24;
- IR.TWEEN_BOUNCE_IN = 25;
- IR.TWEEN_BOUNCE_OUT = 26;
- IR.TWEEN_BOUNCE_IN_OUT = 27;
- IR.TWEEN_BACK_IN = 28;
- IR.TWEEN_BACK_OUT = 29;
- IR.TWEEN_BACK_IN_OUT = 30.