var selpropList = app.project.activeItem.selectedProperties
var selLayers = app.project.activeItem.selectedLayers
if (selLayers.length == 1) {
trg_layer = selLayers[0]
} else {
trg_layer = selLayers[1]
}
if (selpropList.length > 0) {
for (var i = 0; i <= selpropList.length; i++) {
if (selpropList[i] instanceof PropertyGroup) {
continue
} else {
selprop = selpropList[i]
exp_text = selpropList[i].expression
break
}
}
json_exp = { "wiggle": [{ "info": "随机抖动,基于当前属性,返回对应维度的值" }, [["freq", "频率", "slide"], ["amp", "振幅", "slider"]]] }
// 判断是否存在
for (prop in json_exp) {
res = exp_text.indexOf(prop)
if (res > -1) {
reg = new RegExp(prop + '(?=\\().+\\)', 'ig')
var rep_txt = ""
var extra_exp = ""
for (var i = 0; i < json_exp[prop][1].length; i++) {
para = json_exp[prop][1][i][0]
rep_txt = rep_txt + para + ","
extra_exp = extra_exp + para + " = " + 'thisComp.layer("' + trg_layer.name + '")' + '.effect("' + para + '")(1)' + '\n'
var eff = trg_layer.property('ADBE Effect Parade').addProperty("ADBE Slider Control")
eff.name = para
}
rep_txt = prop + "(" + rep_txt.slice(0, rep_txt.length - 1) + ")"
final_res = extra_exp + exp_text.replace(reg, rep_txt)
}
}
selprop.expression = final_res
} else {
alert("请至少选择一个属性")
}
暂无讨论,说说你的看法吧