Advertisement
alexIV

test cavalery path creation

Aug 16th, 2022 (edited)
906
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. let n = "Thirds";                                   //задает имя для слоя
  2. let h, w, o, v;                                     //это просто переменные объявляет
  3. let s = api.getSelection();                         //скорее всего что то типа выделенной композиции в окне project
  4. //(только s[0] не знаю что это, какие то параметры у композиции. тут надо дебагер смотреть что возвращает переменная s. это вроде как массив, но что в нем - я хз)
  5. if (s.length !== 0) {                               //если композиция выделена, т.е. не равна 0
  6.     let c = api.getBoundingBox(s[0], false);            //берем размеры композиции
  7.     h = c.height;                                       //высота
  8.     w = c.width;                                        //ширина
  9.     o = api.get(s[0], position.x);                      //берем положение по x
  10.     v = api.get(s[0], position.y)                       //берем положение по y
  11. } else {                                            //если не выделено ничего в окне project
  12.     w = api.get(api.getActiveComp(), resolution.x);     //ширина у активной композиции
  13.     h = api.get(api.getActiveComp(), resolution.y)      //высота у активной композиции
  14. };
  15. //тут я так понимаю начало координат в cavalery начинается в центре, поэтому
  16. let l = -w / 2;                                     //левый край
  17. let b = -h / 2;                                     //верх
  18. let r = w / 2;                                      //правый край
  19. let t = h / 2;                                      //низ
  20. let p = new cavalry.Path();                         //рисуем, создаем новый путь, скорее всего пока в памяти
  21. for (let i = 1; i < 3; i++) {                       //цикл в 2 итерации
  22.     p.moveTo(l, t - h / 3 * i);                         //первая точка, правая
  23.     p.lineTo(r, t - h / 3 * i);                         //линия до точки 2 справа
  24.     p.moveTo(r - w / 3 * i, t);                         //вторая точка слева
  25.     p.lineTo(r - w / 3 * i, b)                          //линия до точки внизу
  26. };
  27. let mvrk = api.createEditable(p, n);                //создаем путь редактируемым в программе и называем его
  28. api.setFill(mvrk, false);                           //добавляем заливку по умолчанию
  29. api.setStroke(mvrk, true);                          //добавляем строк по умолчанию
  30. api.set(mvrk, {                                     //заполняем значениями
  31.     "stroke.strokeColor": #CB8AF8,                      //заливку строка делаем цвета ....
  32.     "stroke.width": 1,                                  //ширину строка ставим в 1
  33.     "color": Purple,                                    //вот это вот хз что.. какой то цвет
  34.     "position.x": o,                                    //вот тут то же не понял чё за переменные такие
  35.     "position.y": v                                    
  36. })
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement