Рисунок звездообразования - базилик. js - PullRequest
0 голосов
/ 31 марта 2020

Я пытаюсь нарисовать звездообразование, сначала нарисовав многоугольник, а затем изменив его свойства.

на indesign js .de говорит, что многоугольник - это любая фигура, которая не является прямоугольником, эллипсом или графикой c. При добавлении многоугольника InDesign создает обычный многоугольник на основе текущих настроек предпочтений многоугольника. Но я не могу понять, как нарисовать эту чертову штуку.

Я написал это:

    var myPolygon = polygon(0, 0, 10, 10);
    property(myPolygon, "numberOfSides", 8);
    property(myPolygon, "insetPercentage", 50);

, но в indesign я получаю сообщение о том, что многоугольник не является функцией. Является ли усеченным, как прямоугольник (то есть поли)?

1 Ответ

1 голос
/ 01 апреля 2020

Как указал fabianmoronzirfas, polygon() не является функцией базилика. js (в отличие от rect()). Таким образом, либо вам придется рисовать фигуру самостоятельно, используя команды базилика, например так:

beginShape();
  vertex(23, 45);
  vertex(34, 67);
  // draw as many vertices as you need
endShape(CLOSED);

, либо вам придется использовать надлежащие (не базилированные) скриптовые команды InDesign для формирования вашего многоугольника. То, чего вы хотите достичь, можно сделать с помощью метода convertShape(), который можно использовать для любой фигуры, чтобы вы могли сначала создать прямоугольник, а затем использовать этот метод на прямоугольнике:

// @include ~/Documents/basiljs/basil.js;

function draw() {

  var myPoly = rect(50, 50, 200, 200);
  myPoly.convertShape(ConvertShapeOptions.CONVERT_TO_POLYGON, 8, 50);

}
...