Skip to content

表达式的应用

将表达式代码应用到选中的属性上。

首页

使用方法

  1. 在设置面板中添加或编辑按钮
  2. 设置按钮名称和图标
  3. 选择动作类型为 表达式
  4. 在代码编辑器中输入表达式代码(支持语法高亮和自动补全)
  5. 点击"应用表达式"按钮测试效果
  6. 点击左上角保存并关闭设置面板

核心特点

  • 即写即应用:无需外部文件,直接在配置面板输入表达式代码即可应用到属性
  • 智能代码编辑器:内置语法高亮、自动补全、Tab 键支持和自动缩进功能
  • 实时测试:配置面板内置"应用表达式"按钮,可即时测试表达式
  • 批量应用:支持同时应用到多个选中的属性
  • UndoGroup 支持:自动包裹在 app.beginUndoGroup 中,支持 AE 撤销操作

代码框通用功能

代码编辑器提供以下按钮:

按钮说明
复制将内容复制到剪贴板
导出将内容保存为本地文件
清除清空当前输入的内容
运行执行代码(表达式/剪贴板/脚本/Shell 命令)

执行前提

  • 当前 AE 中有打开的活动合成
  • 已选中一个或多个属性(不是图层)
  • 如果没有选中属性,运行时会提示"请先选择一个或多个属性"

保存到文件

表达式也可以保存为本地文件,方便复用:

  1. 点击代码编辑器的保存按钮
  2. 选择保存路径和文件名(.txt 或 .jsx)
  3. 保存后可作为笔记或分享给他人

适用场景

  • 驱动属性动态变化(如位置、缩放、旋转)
  • 链接多个属性(如让缩放跟随位置变化)
  • 创建循环动画
  • 使用表达式控制器(如滑块控制)

表达式示例

循环动画
javascript
loopOut("cycle")
随机抖动
javascript
wiggle(3, 50)
滑块控制

需先添加"滑块控制"效果。

javascript
thisComp.layer("Control").effect("滑块")("滑块")
时间相关
javascript
time * 100  // 随时间旋转
位置链接
javascript
thisComp.layer("图层名").transform.position
弹性动画
javascript
amp = .1;
freq = 2.0;
decay = 5.0;
n = 0;
if (numKeys > 0) {
  n = nearestKey(time).index;
  if (key(n).time > time) n--;
}
if (n > 0) {
  t = time - key(n).time;
  if (t > 0) {
    w = transform.position;
    ease(t, 0, 1, w - [amp,amp], w + [amp,amp])
  }
} else {
  transform.position
}

点击"应用表达式"按钮即可在 AE 中实时测试表达式效果。

Released under the MIT License.