Внимание! Вы находитесь в архиве форума aeclub.net
Действующий форум находится здесь

 
> Обращение к параметру, точнее как достать параметр
kovblood 
11.09.2012, 12:58
Отправлено #1


Member
*

Сообщений: 35
Регистрация: 17.02.2009

Поблагодарили: 13 раз(а)

Осваиваю скриптинг, и ступор сразу же, как скриптом взять какой либо параметр например ротэйшн, то есть указать ему значение это просто setValue, а вот к примеру мне надо написать чтоб к имеющемуся значению прибавилось 50 или 100... то есть взять значение ротейшн которое сейчас есть, умножить его на 90 и применить снова ? как уже не пробовал )

comp.selectedLayers.rotation.setValue(comp.selectedLayers.rotation.getValue*50)

Или проще, как через скрипт взять значение opacity и применить его на rotation?

пробовал еще вот так

var comp = app.project.activeItem;
for (i = 0; i < app.project.activeItem.numLayers; i++){
comp.selectedLayers[i].rotation = comp.selectedLayers[i].rotation*90
}

добавлено через 19 часов 50 минут:

Разобрался =)

var comp = app.project.activeItem;
y = prompt("Write value:")
app.beginUndoGroup("Rotation");
for (i = 0; i < app.project.activeItem.numLayers; i++){
x = comp.selectedLayers[i].property("rotation")
comp.selectedLayers[i].property("rotation").setValue(x.value+y)
}
app.endUndoGroup();

Теперь вопрос как это применить на Scale или Position у которые не одно значение внутри, все перепробовал уже, вот например

var comp = app.project.activeItem;
app.beginUndoGroup("Mirror");
for (i = 0; i < app.project.activeItem.numLayers; i++){
x = comp.selectedLayers[i].property("scale").value
comp.selectedLayers[i].property("scale").setValue[x*(-1), 100]
}
app.endUndoGroup();

и не работает... с этими блин массивами spy.gif
User is offlineGo to the top of the page
Репутация:   6  
+Quote Post
kovblood 
14.09.2012, 5:35
Отправлено #2


Member
*

Сообщений: 35
Регистрация: 17.02.2009

Поблагодарили: 13 раз(а)

И снова сам со всем разобрался =)

var comp = app.project.activeItem;
Main = "Scale"
y = -1
app.beginUndoGroup(Main);
for (i = 0; i < app.project.activeItem.numLayers; i++){
x = comp.selectedLayers[i].property(Main)
comp.selectedLayers[i].property(Main).setValue([x.value[0]*Number(y), x.value[1]])
}
app.endUndoGroup();
User is offlineGo to the top of the page
Репутация:   6  
+Quote Post

Внимание! Вы находитесь в архиве форума aeclub.net, регистрация и авторизация здесь недоступны!
Действующий форум находится здесь