-
-
Notifications
You must be signed in to change notification settings - Fork 123
Добавление своей анимации к эффекту «Анимация»
vvip-68 edited this page Sep 21, 2021
·
2 revisions
- С помощью утилиты JinxFramer подготовьте кадры анимации и экспортируйте их в файл скетча для включения в проект.
Для примера взята анимация "Пятнашки", экспортированная из ролика Jinx! "Fifteens.out" в файл кода "fifteens.h"
При необходимости после сохранения файла "fifteens.h" - отредактируйте параметры анимации в структуре типа animation_t с именем animation_Fifteens, размещенной в конце этого файла.
const animation_t animation_Fifteens PROGMEM = {
...
}
-
Поместите отредактированный файл "fifteens.h" с кадрами анимации в папку проекта со скетчем
-
В файле a_def_soft.h (строка примерно 138) в MAX_IMAGE_NUM укажите сколько анимаций у вас включено в проект
#define MAX_IMAGE_NUM 4
- В файле a_def_soft.h (строка примерно 55) в IMAGE_LIST укажите через запятую название анимаций
#define IMAGE_LIST F("Марио,Пятнашки,Jinx,Погода")
- В файле animation.ino - найдите директиву включения файлов анимации в проект (примерно строка 46).
Добавьте свой файл с описанием анимации, который был помещен в п.1
...
#include "fifteens.h"
...
- В файле animation.ino - найдите процедуру animationRoutine() (строка примерно 190) и добавьте туда вызов анимации
void animationRoutine() {
...
switch (currentImageIdx) {
...
case 2:
// Пятнашки
loadDescriptor(&animation_Fifteens);
frames_in_image = sizeof(Fifteens_array) / sizeof(Fifteens_array[0]);
break;
...
- Чуть ниже в том же файле в процедуре animationRoutine() (строка примерно 488) найдите похожий фрагмент и добавьте код получения следующего кадра анимации
switch (currentImageIdx) {
...
case 2:
// Пятнашки
ppFrame = Fifteens_array[frameNum];
break;
- Скомпилируйте скетч и загрузите его в микроконтроллер.
Добавленная анимация должна появиться в приложении WiFiPanel на телефоне в эффекте "Анимация", в комбобоксе выбора анимации.