【脚本示例】开关选择图层所有属性的表达式

/**
 * 开关选择图层所有属性的表达式,如果开启,则关闭。如果关闭则开启
 *
 * @author Zack Lovatt <zack@zacklovatt.com>
 * @version 0.2.0
 */
 (function() {
    /**
     * Recursively loops through all properties and disables found expressions
     * 递归遍历所有属性,并禁用表达式
     * @param {PropertyGroup} propertyGroup Property group to loop through
     */
    function recursiveDisableExpressions(propertyGroup) {
      for (var ii = 1; ii <= propertyGroup.numProperties; ii++) {
        var property = propertyGroup.property(ii);

        if (property instanceof PropertyGroup) {
          recursiveDisableExpressions(property);
          continue;
        }

        if (!property.canSetExpression) {
          continue;
        }
        try {
            if (property.expressionEnabled === true) {
                property.expressionEnabled = false;
              }
            else{
                property.expressionEnabled = true;
            }
       } catch (error) {
            continue
        }
      }
    }

    app.beginUndoGroup('Disable All Comp Expressions');

    if (!(comp && comp instanceof CompItem)) {
      alert('Open a comp!');
      return;
    }
    // 遍历合成(我觉得不合理,改成遍历选择图层了
    // for (var ii = 1; ii <= comp.numLayers; ii++) {
    //     var layer = comp.layer(ii);

    var comp = app.project.activeItem;
    var layerNumber = comp.selectedLayers.length;
    var slLayers = comp.selectedLayers;
    for (var ii = 0; ii < layerNumber; ii++) {
      var layer = slLayers[ii];

      recursiveDisableExpressions(layer);
    }

    app.endUndoGroup();
  })();

 

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

【脚本示例】创建初始化文件夹

2021-9-22 15:35:16

AE开发脚本开发

【脚本示例】冻结属性 表达式法

2021-9-22 17:29:46

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