After Effects / ExtendScript:使用库和导入 .jsx 文件?
Posted
技术标签:
【中文标题】After Effects / ExtendScript:使用库和导入 .jsx 文件?【英文标题】:After Effects / ExtendScript: Using libraries and importing .jsx files? 【发布时间】:2013-01-18 13:39:59 【问题描述】:我是 After Effects 脚本的新手,但对浏览器中的 javascript 有很多经验。
-
如何导入 .jsx 文件?
可以使用下划线.js等js库吗?
AE 脚本有哪些好的资源? (理想的信息图表项目)
【问题讨论】:
【参考方案1】:-
在脚本旁边包含 .jsx
使用:
#include "includeme.jsx"
编辑 2:
您还可以使用以下语法包含文件:
//@include "includeme.jsx"
哪个(恕我直言)是更好的方法。它不会破坏 linter 并且更加 javascript-ish。
您可以使用普通的旧 javascript(ES3 语法)。如果您包含的库使用某些特定于浏览器的 js(如 console.log()
),您将收到错误消息
最佳资源是AECS6 scripting guide。 http://aescripts.com 上还有很多开源脚本,你可以查看
编辑 1:您还可以包含这样的文件。
var path = ((File($.fileName)).path); // this is the path of the script
// now build a path to another js file
// e.g. json lib https://github.com/douglascrockford/JSON-js
var libfile = File(path +'/_libs/json2.js');
if(libfile.exists)
$.evalFile(libfile);
【讨论】:
感谢费边!我早些时候尝试过,但它没有用。不知道我做错了什么。//@
语法是否适用于其他预处理器指令,例如 #target indesign
或 #strict on
?
@Sturm 我认为 //@target 有效。 //@严格我不知道。你为什么不试一试并报告呢? ;)
@f***moronzirfas,我看不出有什么区别。使用该行,删除该行,将其更改为#strict off
等。当尝试在脚本中写入只读属性时,该命令(当设置为“on”时)应该引发运行时错误.我在脚本顶部附近输入了app.activeScriptUndoMode = UndoModes.AUTO_UNDO;
行来测试它。但是,无论#strict
行是什么,我都会收到错误消息。
可怜的旧扩展脚本。它在某些部分是如此破碎。感谢您的报告以上是关于After Effects / ExtendScript:使用库和导入 .jsx 文件?的主要内容,如果未能解决你的问题,请参考以下文章
javascript After Effects Scripts我喜欢使用
在 After Effects 中以编程方式更改 TextLayer 的文本