Ae:表达式语法基础(合集)

360影视 欧美动漫 2025-03-20 06:53 4

摘要:After Effects 表达式是一种基于 JavaScript 的脚本语言,用于动态控制动画参数,可提高工作效率。

After Effects 表达式是一种基于 JavaScript 的脚本语言,用于动态控制动画参数,可提高工作效率。

以下内容将概括 Ae 表达式的核心语法,包括内置对象引用、数据类型(包括基本数据类型与引用类型)、运算符、流程控制(条件语句和循环语句)、自定义函数和对象等内容,并通过示例展示其应用。

1、内置对象及引用

Ae 表达式的核心在于对象引用,After Effects 提供了许多内置对象,如 thisComp(当前合成对象)、thisLayer(当前图层对象)、effect(效果对象)、mask(蒙版对象)等。正确引用这些对象,可以访问和操作它们的属性,完成复杂的动画设定。

// 示例:为图层的“位置”属性添加表达式,让图层始终位于合成中心[thisComp.width / 2, thisComp.height / 2]; // 计算当前合成的中心坐标,并应用到图层的位置

注释 Comment是给代码的阅读者的一种提示,系统会忽略所有的注释。

Ae 表达式提供了两种注释方法:

(1)从双斜杠 // 开始到行末。

(2)/* 和 */ 所包围的一行或多行。

2、数据类型

Ae 表达式支持数值(number)、字符串(string)、布尔值(boolean)等基本数据类型以及一些特殊值(NaN、Infinity、null、undefined)。理解这些数据类型及其转换规则,可以在表达式中进行灵活运算和控制。

// 示例 1:数值类型var num = 100 * Math.sin(time); // 计算随时间变化的数值num;// 示例 2:字符串类型var text = "当前时间:" + time.toFixed(2) + " 秒"; // 组合字符串text;// 示例 3:布尔类型var isVisible = time

3、变量与运算符

变量用于存储和操作数据,Ae 表达式支持 var 关键字定义变量,也可使用 let 和 const 进行更严格的变量管理。支持算术(+、-、*、/、%)、比较(==、!=、>、

// 示例 1:定义和使用变量var baseScale = 50; // 设定基础缩放值var factor = Math.sin(time * 2) * 10; // 计算随时间变化的缩放增量[baseScale + factor, baseScale + factor]; // 计算后的缩放值,并应用到图层// 示例 2:运算符var result = (5 + 3) * 2; // 计算 5 + 3 之后再乘以 2var isLarge = thisLayer.width > 500; // 判断图层宽度是否大于 500 像素var isVisible = (time > 1) && (time

4、条件语句

表达式中的 if...else 语句,允许根据不同条件执行不同的代码逻辑。

条件运算符(三元运算符)用于简化 if - else 语句的写法。

switch - case 语句常用于多条件判断,选择 多个可能的结果之一。

// 示例:var opacity;if (time

5、循环语句

循环语句用于遍历数组、重复执行某个操作。Ae 表达式支持 while、do ... while、for 等循环。

// 示例:求数组中所有数值的总和。var nums = [10, 20, 30, 40]; // 定义一个包含多个数值的数组var sum = 0; // 初始化总和为 0for (var i = 0; i

6、数组

在 After Effects 表达式中,数组用于存储多个值,使用方括号 进行初始化,数组元素的下标(索引)从 0 开始。

// 示例:获取数组的第一个和最后一个元素var numbers = [5, 10, 15, 20];var first = numbers[0]; // 第一个元素 5var last = numbers[numbers.length - 1]; // 最后一个元素 20[first, last];

7、函数

函数(又称为“方法”)可以封装重复使用的逻辑,提升代码的可读性和复用性。Ae 表达式支持 function 关键字定义函数,也可以使用箭头函数(ES6 语法)。 函数的三要素指的是函数名、函数参数和函数返回值。

// 示例:定义一个返回中心点坐标值、名为 center 的函数function center {x = thisComp.width / 2;y = thisComp.height / 2;return [x, y];}center; // 调用函数,返回合成中心的位置

8、自定义对象

自定义对象允许将多个相关属性和方法封装在一起,提高代码的组织性。在 Ae 表达式中,可以用对象字面量或构造函数方式创建对象。

// 示例:var person = {firstName: "media",lastName: "TEA",age: 7,greet: function {return "Hello, " + this.firstName + "" + this.lastName;}};// 访问属性person.firstName; // 返回 "media"person.age; // 返回 7// 调用方法person.greet; // 返回 "Hello, mediaTEA"

9、表达式调试与错误处理

在 After Effects 表达式(JavaScript 引擎)环境中,调试代码和处理错误是至关重要的。尽管 Ae 表达式编辑器没有内置的 console.log 调试工具,但可以使用文本图层输出、值监控、拆分表达式以及 try...catch 等方法进行调试。

“点赞有美意,赞赏是鼓励”

来源:松月颂

相关推荐