【脚本案例】表达式解析 (未完)

 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("请至少选择一个属性")
}

给TA充电
共{{data.count}}人
人已充电
AE开发脚本开发

【脚本案例】True Comp Duplicator – 真实合成复制器 源码

2021-9-28 12:52:36

AE开发脚本开发

【脚本案例】素材本地文件重命名

2021-9-29 0:41:17

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
今日签到
搜索