[AE 表达式]函数复用技巧
声明:我写的【AE 表达式】文章都是原创,包括文字和图片请不要以任何形式进行转载。
在 After Effects 中,表达式复用是比较麻烦的,因为表达式的作用域是当前属性,因此无法在其它位置引用,After Effects 用户指南中关于“保存和重用表达式”是需要复制然后粘贴到要使用的位置,当然,其中也提到“可以使用正常的 JavaScript 函数语法在表达式中定义自己的函数”,但是这样定义以后还是需要复制粘贴,依然只能在当前属性中复用。
https://helpx.adobe.com/cn/after-effects/using/expression-basics.html#save_and_reuse_expressions
要复用函数,就应该像网站前端引用 js 文件一样,所有网页共用一个 JavaScript 文件,当你修改函数的时候,所有引用自然生效。在 AE 中也是可以这样做的!
我们先来看看在表达式中使用自定义函数:
在源文本上自定义函数,如果不引用的话,会作为字符串输出。
运行以后才可以输出值。
下面我们的任务就是要复用 hello() 这个函数。
首先,用记事本把函数代码粘贴进去;
// 自定义函数实例
function hello(){return "Hi there!"
}
文本文档 .txt 文件可以直接导入到 AE 中,但是在引用时只能作为文本引用,如果要让函数运行,则需要使用 eval() 方法运行代码。
eval(footage("myFunctions.jsx").sourceText);
hello()
还可以将 .txt 文件扩展名修改为 .jsx,这是 Adobe 专门的脚本文件类型,如果配合 IDE 来编写可以更加方便一些。
当然,也可以在 jsx 文件中写更多的函数然后调用。
以对象方式来复用函数可以使用 .sourceData 属性调用,内容可以直接作为代码运行,这样可以省去 eval() 方法,并且可以在类中定义非函数属性。
没有定义类名的需要在引用时定义类名,如果定义了类名,可以直接引用类名。
// 对象实例
// 定义类名的对象
myClass = {foo:"foo", // 属性bar:function bar(){return "bar"}, // bar()hello:function (){return "Hi there!"} // hello()
}
// 定义类名以后可以直接引用
footage("myClass.jsx").sourceData
myClass.foo
类名建议在 jsx 文件里定义,因为引用时不容易出错,而且在引用时还可以覆盖定义。
多数情况,我更喜欢使用对象定义的方式,毕竟 eval() 在 JavaScript 中也不是值得推荐的方法。
eval()
[AE 表达式]函数复用技巧相关推荐
- 如何学好 AE 表达式?
--你知道世界上最难的问题是什么吗? --就是这道题. 上面的只是一个梗,不过面对知乎里或者朋友的这种发问,我真的不知道怎么回答,从上个礼拜,我就开始琢磨这个事儿:如何讲明白如何学好 AE 表达式.问 ...
- ae制作的mg如何用到html,【教程】AE表达式常用的函数-制作MG动画必备
我一开始接触AE是简单的套模板,后来慢慢学会自己调关键帧动画.感觉应用比较多的同样也让我很头疼的是运动.所以对表达式控制做了初步的学习.下面是一些常用的AE表达式 1.time time随着时间线的变 ...
- 【AE表达式】实用:查看 propertyGroup 索引
关于 propertyGroup() 是什么,怎么用,不了解的同学先去看看官方文档: After Effects 中的表达式语言 (adobe.com) propertyGroup() 方法我会用的比 ...
- ae编程语言as_【微教程】从编程的思路学习AE表达式
(这是一段引人入胜的开场白......),针对知道ae基础操作的群体的教学 授人以鱼不如授人以渔,学习表达式应该是从学会脚本语言入手,而不是通过记忆的方式记住每种效果的表达式语句.这里说的编程并非特指 ...
- 计算机二级vf中字符,计算机二级VFP常用函数使用技巧探讨
摘要:掌握VFP常用函数使用技巧对学生非常重要,在二级考试中,函数使用频繁,贯穿整个考试,不论是表创建的索引建立.还是查询的字段构造以及表单控件的函数表示,都离不开函数的使用.为了让学生理清这部分思路 ...
- 【AE表达式】以插值方法代替关键帧
在<[AE表达式]更好的动画时间控制>这篇文章中说过我比较不是很喜欢用关键帧来控制动画,这是有一定条件的.使用表达式控制动画更多的是强调复用性,比如你拿到我的工程文件,不管是显示的内容.尺 ...
- 【转载】AE 表达式精通大法
本文是转自 设计树 的一篇文章,我对文章进行了重新排版,并标注了重点 原文地址 -- AE表达式精通大法 以下是正文部分: AE 表达式一直是大家学习 AE 过程中的一道坎,涉及代码网上教程资源又不多 ...
- ae绘图未指定错误怎么办_【教程】最全的ae表达式教学分享(实用!)表达式其实很简单...
大部分人对ae表达式是望而却之,感觉很难,无从下手,网上的教程也是层次不齐,很难找到好的教程跟着学.于是呢,搜罗全网,整理了一份最全的最实用的ae表达式教学.也算是一个对自己的总结. 下面解决几个问题 ...
- AE表达式:利用wiggle和Math.sin制作蝴蝶动画
AE表达式:利用wiggle和Math.sin制作蝴蝶动画 B站链接: AE表达式:B站讲解最详细的Math表达式和蝴蝶动画制作 课程准备 蝴蝶AI素材 wiggle的用法,上次录了一节视频,链接 M ...
最新文章
- C#图片处理常见方法性能比较
- android如何查看分区信息,android如何查看分区信息
- Object-c学习之路二(oc内存管理黄金法则1)
- c语言与硬件连接案例,实际LED硬件连接
- 具体数学:计算机科学基础:第2版
- python绘制散点图的函数_Python用PyQt5绘制多彩随机散点图,基本控件之QPainter使用详解...
- STM32工作笔记0066---待机唤醒实验-设备低功耗-M3H
- educoder第六章 关联挖掘 实验二:FP-growth
- JS调用ATL DLL
- confluence 制作流程图_Sketch制作交互流程图,哪种工具最高效?
- 虚拟机迁移Sphere vMotion
- ET199加密狗是如何复制
- Qt5.14.2下载与安装(保姆级图文教程)
- 云直播丁云鹏:最可怕的,是你低估生活的残酷
- mongo-java 实现使用and拼接多个or查询条件
- android消除锯齿原理分析
- c语言猜拳游戏石头剪刀布,模拟剪刀石头布猜拳游戏
- 系统时变性与因果性的判断
- Altium Designer快捷键
- 西南大学实验室考试自测题学习