#javascript #adobe-illustrator
Вопрос:
Я пытаюсь создать скрипт, который может выбирать объекты тех же размеров, что и выбранный объект.
До сих пор у меня есть это, которое не выдает никаких ошибок, но и не работает. Кто-нибудь может помочь мне это исправить? Я новичок в написании сценариев в Illustrator, поэтому я даже не знаю, как проверить, получает ли он ширину/высоту от выбранного в данный момент объекта. Большое спасибо!
var docRef=app.activeDocument; var objWidth = app.selection[0].width; var objHeight = app.selection[0].height; var selectionArray = 0; var str = 0; var items = docRef.pageItems; var n = items.length; for ( i = 0; i lt; n ; i ) { var item = items[i]; if ( item.width == objWidth amp;amp; item.height == objHeight ) { selectionArray [ selectionArray.length ] = item; } }
Комментарии:
1.
selectionArray [ selectionArray.length ] = item;
это работает, но выглядит странно и, вероятно, не очень эффективно. Обычно, если вы хотите добавить элемент в массив, вы можете использоватьpush()
метод:selectionArray.push(item);
2. Итак, вы получили ответ?
3. Отклонено, так как нет обратной связи от OP.
Ответ №1:
Вам нужно изменить строку:
var selectionArray = 0;
с:
var selectionArray = [];
И массив будет создан нормально.
Но что вы хотите сделать с этим массивом? Если вы хотите выбрать все элементы этого массива, вы должны добавить в конце кода эту строку:
app.selection = selectionArray;
Если вы хотите проверить значение для отладки кода, вы можете использовать эту alert
функцию. Например:
alert('width = ' objWidth);
Он покажет окно с заданным текстом (содержащим значение).: