Anime
=====

Anime - это возможность воспроизводить послойные анимации через тег anime.

## Файл anime

Файл anime - это текстовый файл, который описывает последовательности преобразований слоев.

## Последовательность

Чтобы за одну секунду сдвинуть окно сообщений на 100 пикселей вправо, запишите в файле anime следующую последовательность.

```
# Блок описывает последовательность для анимации.
# Имя блока может быть любым и ни на что не влияет.
move {
    # Это указатель слоя.
    layer: msg;

    # Это указатели времени. (в секундах)
    start: 0.0;
    end: 1.0;

    # Это указатели исходной позиции. 'r0' означает относительное значение '0'.
    from-x: r0;
    from-y: r0;

    # Это указатель исходной прозрачности.
    from-a: 255;

    # Это указатели конечной позиции. 'r100' означает относительное значение '100'.
    to-x: r100;
    to-y: r0;

    # Это указатель конечной прозрачности.
    to-a: 255;
}
```

## Структура слоев

Ниже приведена структура слоев в порядке снизу вверх.

| Имя слоя         | Описание                                   |
|------------------|--------------------------------------------|
| bg               | фон                                        |
| bg2              | второй фон (для бесшовной прокрутки)       |
| efb1             | эффект на заднем плане 1                   |
| efb2             | эффект на заднем плане 2                   |
| efb3             | эффект на заднем плане 3                   |
| efb4             | эффект на заднем плане 4                   |
| chb              | персонаж сзади по центру                   |
| chb-eye          | персонаж сзади по центру                   |
| chb-lip          | персонаж сзади по центру                   |
| chl              | персонаж слева                             |
| chl-eye          | персонаж слева                             |
| chl-lip          | персонаж слева                             |
| chlc             | персонаж слева по центру                   |
| chlc-eye         | персонаж слева по центру                   |
| chlc-lip         | персонаж слева по центру                   |
| chr              | персонаж справа                            |
| chr-eye          | персонаж справа                            |
| chr-lip          | персонаж справа                            |
| chrc             | персонаж справа по центру                  |
| chrc-eye         | персонаж справа по центру                  |
| chrc-lip         | персонаж справа по центру                  |
| eff1             | эффект на переднем плане 1                 |
| eff2             | эффект на переднем плане 2                 |
| eff3             | эффект на переднем плане 3                 |
| eff4             | эффект на переднем плане 4                 |
| msgbox           | окно сообщений                             |
| namebox          | окно имени                                 |
| choose1-idle     | окно выбора 1 (ожидание)                   |
| choose1-hover    | окно выбора 1 (наведение)                  |
| choose2-idle     | окно выбора 2 (ожидание)                   |
| choose2-hover    | окно выбора 2 (наведение)                  |
| choose3-idle     | окно выбора 3 (ожидание)                   |
| choose3-hover    | окно выбора 3 (наведение)                  |
| choose4-idle     | окно выбора 4 (ожидание)                   |
| choose4-hover    | окно выбора 4 (наведение)                  |
| choose5-idle     | окно выбора 5 (ожидание)                   |
| choose5-hover    | окно выбора 5 (наведение)                  |
| choose6-idle     | окно выбора 6 (ожидание)                   |
| choose6-hover    | окно выбора 6 (наведение)                  |
| choose7-idle     | окно выбора 7 (ожидание)                   |
| choose7-hover    | окно выбора 7 (наведение)                  |
| choose8-idle     | окно выбора 8 (ожидание)                   |
| choose8-hover    | окно выбора 8 (наведение)                  |
| chf              | лицо персонажа                             |
| chf-eye          | лицо персонажа                             |
| chf-lip          | лицо персонажа                             |
| click            | анимация щелчка                            |
| auto             | баннер авторежима                          |
| skip             | баннер режима пропуска                     |
| text1            | текстовый слой 1                           |
| text2            | текстовый слой 2                           |
| text3            | текстовый слой 3                           |
| text4            | текстовый слой 4                           |
| text5            | текстовый слой 5                           |
| text6            | текстовый слой 6                           |
| text7            | текстовый слой 7                           |
| text8            | текстовый слой 8                           |
| gui-button-1     | кнопка GUI с ID 1                          |
| gui-button-2     | кнопка GUI с ID 2                          |
| gui-button-3     | кнопка GUI с ID 3                          |
| gui-button-4     | кнопка GUI с ID 4                          |
| gui-button-5     | кнопка GUI с ID 5                          |
| gui-button-6     | кнопка GUI с ID 6                          |
| gui-button-7     | кнопка GUI с ID 7                          |
| gui-button-8     | кнопка GUI с ID 8                          |
| gui-button-9     | кнопка GUI с ID 9                          |
| gui-button-10    | кнопка GUI с ID 10                         |
| gui-button-11    | кнопка GUI с ID 11                         |
| gui-button-12    | кнопка GUI с ID 12                         |
| gui-button-13    | кнопка GUI с ID 13                         |
| gui-button-14    | кнопка GUI с ID 14                         |
| gui-button-15    | кнопка GUI с ID 15                         |
| gui-button-16    | кнопка GUI с ID 16                         |
| gui-button-17    | кнопка GUI с ID 17                         |
| gui-button-18    | кнопка GUI с ID 18                         |
| gui-button-19    | кнопка GUI с ID 19                         |
| gui-button-20    | кнопка GUI с ID 20                         |
| gui-button-21    | кнопка GUI с ID 21                         |
| gui-button-22    | кнопка GUI с ID 22                         |
| gui-button-23    | кнопка GUI с ID 23                         |
| gui-button-24    | кнопка GUI с ID 24                         |
| gui-button-25    | кнопка GUI с ID 25                         |
| gui-button-26    | кнопка GUI с ID 26                         |
| gui-button-27    | кнопка GUI с ID 27                         |
| gui-button-28    | кнопка GUI с ID 28                         |
| gui-button-29    | кнопка GUI с ID 29                         |
| gui-button-30    | кнопка GUI с ID 30                         |
| gui-button-31    | кнопка GUI с ID 31                         |
| gui-button-32    | кнопка GUI с ID 32                         |

## Масштабирование и поворот

```
# Увеличить масштаб слоя `effect1` до 2.0x и повернуть на 360 градусов за 3 секунды.
test1 {
    layer: effect1;
 
    start: 0.0;
    end: 3.0;

    from-x: 0;
    from-y: 400;
    from-a: 255;

    to-x: 0;
    to-y: 400;
    to-a: 255;

    # Центр масштабирования и поворота
    center-x: 600;
    center-y: 100;

    # Коэффициенты масштабирования
    from-scale-x: 1.0;
    from-scale-y: 1.0;
    to-scale-x: 2.0;
    to-scale-y: 2.0;
 
    # Поворот (+ вправо, - влево)
    from-rotate: 0.0;
    to-rotate: -360;
}

# Обратное действие.
test2 {
    layer: effect1;

    start: 3.0;
    end: 6.0;

    from-x: 0;
    from-y: 400;
    from-a: 255;

    to-x: 0;
    to-y: 400;
    to-a: 255;

    center-x: 600;
    center-y: 100;

    from-scale-x: 2.0;
    to-scale-x: 1.0;

    from-scale-y: 2.0;
    to-scale-y: 1.0;

    from-rotate: -360;
    to-rotate: 0;
}
```
