[AI CS4-CS6] Перемещение объекта с Opacity mask

hhandy

Участник
Топикстартер
Сообщения
38
Реакции
0
Добрый день.
При перемещении объекта с маской прозрачности меняется только положение самого объекта, элементы маски остаются на прежнем месте. Пробовал через присвоение координат и через translate. Как можно их двинуть совместно? А если такой элемент в группе и нужно изменить положение группы?
 

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 235
Реакции
10 852
Мало данных
Как именно вы передвигаете объект, можно как можно более полный фрагмент кода?
 

hhandy

Участник
Топикстартер
Сообщения
38
Реакции
0
Мало данных
Как именно вы передвигаете объект, можно как можно более полный фрагмент кода?
Да элементарно пока - просто изменяю положение выделенного элемента
JavaScript:
var doc = app.activeDocument;
var sel = doc.selection;
sel[0].position = [200,-150];

или sel[0].translate(50,50);
 

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 235
Реакции
10 852
Каков тип sel[0] ?
 

hhandy

Участник
Топикстартер
Сообщения
38
Реакции
0
Тестирую на pathItem, groupItem. В итоге объект будет в группе, те ориентируемся на нее
 

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 235
Реакции
10 852
То есть вы передвигаете pathItem?
Однозначно маска двигаться не должна у pathItem нету маски по определению
В случае с groupItem маска тоже не движется? То есть, если объект с маской прозрачности сгруппировать с другими объектами (да хоть с самим собой) и попробовать переместить - будет двигаться с маской? Если да - то это костыльное решение если нет то это чертовски странно и я сходу не придумаю такому неведомому факту вразумеительного объяснения, надо копать вглубь.
 

hhandy

Участник
Топикстартер
Сообщения
38
Реакции
0
Чтобы не осталось недопониманий
слева - объект с маской, справа - результат перемещиня группы
sel[0].translate(50,50);
Screenshot_8.jpg
 

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 235
Реакции
10 852
Это сильно плохо, самый худший вариант из всех - подобная проблема в свое время заставила меня перейти со встроенных функций трансформации на вызов формируемых на лету экшнов, что ужасно портит код :(
 

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 235
Реакции
10 852
А, вспомнил еще один вариант костыля - создать символ из маскированного объекта и двигать его
 

hhandy

Участник
Топикстартер
Сообщения
38
Реакции
0
А как хоть докопаться до этой маски?
 

hhandy

Участник
Топикстартер
Сообщения
38
Реакции
0

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 235
Реакции
10 852
Тото и оно что никак вы не определите. :(
 
  • Спасибо
Реакции: hhandy

hhandy

Участник
Топикстартер
Сообщения
38
Реакции
0
Мда... печально (
спасибо!
 

Gad

Сообщения
2 975
Реакции
1 408
А цель то какова? :) Если просто переместить выделенный объект с маской скриптом, то это вроде как можно сделать... хоть и слегка заднепроходно :)
 
Последнее редактирование:

Gad

Сообщения
2 975
Реакции
1 408
Через клипборд, вырезать вставить, перед этим поставив doc.views[0].centerPoint = [x,y] x,y - координаты куда он его влепит на артборде :)
 

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 235
Реакции
10 852
Через клипборд, вырезать вставить, перед этим поставив doc.views[0].centerPoint = [x,y] x,y - координаты куда он его влепит на артборде :)
Ну ты уж совсем загнул! Через генерируемый экшн все ж проще
 

Gad

Сообщения
2 975
Реакции
1 408
Через генерируемый экшн все ж проще
'))' Зато не портит код :)

Не по теме:
А вообще это ужасно, что не докопаться до маски... при всем при этом родителя выделенной маски получить можно, а вот обратиться к нему хренушки выходит :)
 

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 235
Реакции
10 852
Перевставление через клипбоард портит код сильнее ;)
Вангую что лажать с координатами будет по черному, вдобавок, копипаст системнозависим и нетороплив