Skip to content

Добавление своей анимации к эффекту «Анимация»

vvip-68 edited this page Sep 21, 2021 · 2 revisions

Добавление своей анимации к эффекту «Анимация»

  1. С помощью утилиты JinxFramer подготовьте кадры анимации и экспортируйте их в файл скетча для включения в проект.

Для примера взята анимация "Пятнашки", экспортированная из ролика Jinx! "Fifteens.out" в файл кода "fifteens.h"
При необходимости после сохранения файла "fifteens.h" - отредактируйте параметры анимации в структуре типа animation_t с именем animation_Fifteens, размещенной в конце этого файла.

   const animation_t animation_Fifteens PROGMEM = {
     ...
   }
  1. Поместите отредактированный файл "fifteens.h" с кадрами анимации в папку проекта со скетчем

  2. В файле a_def_soft.h (строка примерно 138) в MAX_IMAGE_NUM укажите сколько анимаций у вас включено в проект

   #define MAX_IMAGE_NUM 4 
  1. В файле a_def_soft.h (строка примерно 55) в IMAGE_LIST укажите через запятую название анимаций
   #define IMAGE_LIST F("Марио,Пятнашки,Jinx,Погода")
  1. В файле animation.ino - найдите директиву включения файлов анимации в проект (примерно строка 46).
    Добавьте свой файл с описанием анимации, который был помещен в п.1
   ...
   #include "fifteens.h"
   ...
  1. В файле animation.ino - найдите процедуру animationRoutine() (строка примерно 190) и добавьте туда вызов анимации
   void animationRoutine() {
     ...
     switch (currentImageIdx) {
     ...
       case 2:
         // Пятнашки
         loadDescriptor(&animation_Fifteens);
         frames_in_image = sizeof(Fifteens_array) / sizeof(Fifteens_array[0]);
         break;
      ...
  1. Чуть ниже в том же файле в процедуре animationRoutine() (строка примерно 488) найдите похожий фрагмент и добавьте код получения следующего кадра анимации
     switch (currentImageIdx) {
     ...
       case 2:
         // Пятнашки
         ppFrame = Fifteens_array[frameNum];
         break;
  1. Скомпилируйте скетч и загрузите его в микроконтроллер.
    Добавленная анимация должна появиться в приложении WiFiPanel на телефоне в эффекте "Анимация", в комбобоксе выбора анимации.

Clone this wiki locally