(这是一段引人入胜的开场白......),针对知道ae基础操作的群体的教学

授人以鱼不如授人以渔,学习表达式应该是从学会脚本语言入手,而不是通过记忆的方式记住每种效果的表达式语句。这里说的编程并非特指学习某种编程语言,只是借鉴其中一些思路。

After Effects 表达式使用 Adobe ExtendScript 语言,该语言是 JavaScript 的一种扩展形式——即,多数情况下,我们可以用JS语法去写或者去解读很多AE表达式。

part.1 何谓“编程”思路

对于学习AE表达式来说,理解“编程”思路,只需要下面这张简单的程序框图,我记得初中数学老师就教过这种框图程序框图(i++的意思是i = i + 1)

“编程”这件事情,从简单的理解来说,它就是一种和计算机沟通的语言,这和学外语和外国人沟通是一样的。你可以通过编程语言(也可以说是脚本语言)告诉软件或者计算机应该去做什么,比如在一个时间段内让图像做从小到大的动画,或者在ae里写一个物理碰撞引擎(秃子可以挑战一下)XD。

小结一下:“编程”的思路,即是通过组合学到的一些简单表达式语句,组合出你想告诉计算机的命令,然后输入到表达式运行框内。(part2会介绍表达式语句)

这里用AE表达式举例,为了让表达式执行结果得到更好的返回,这里对文本的“源文本”作为表达式的承载。众所周知,1+1=2,这里直接输入1+1到表达式框内,源文本就会显示一个“2”的文字到文本框中。

part.2 开始写表达式

setp1.一些编程过程中必须知道的知识。

A.所有标点符号都必须是英文的,中文标点符号必定报错

B.“xxxxxxx”这里的XXXXXXX可以替换成任意想要的文字或者字符,不限制中英文;被“”括起来的属于字符串

C.AE表达式默认返回最后一行语句的计算值,比如第一行写1+1,第二行写1+3,最后返回的是1+3的运算结果4

D.规定在等号“=”左边的必须是变量,即“i,j”这种单字母,或者“flag,name,aaAAdd”这种多字母词,或者“flag2,flag3”这种字母+数字的形式(数字+字母是错的),或者使用下划线“Ae_Name,flag_Name”,且他们都区分大小写,如果不是循环或者判断语句,每行结束可以添加“;”作为换行标记

E.除了文本框的“源文本”能接受字符串类型的返回,其它地方返回文本类型的数值基本上都会报错,可以试试会不会错

F.具体的JS编程问题可以用的时候百度就好,比如百度搜“JS小数点取整函数”就会有parseInt(7/2)这样的函数,它返回的是数字3

setp2.AE自带函数都是做什么用的,怎么用

AE自带了很多函数,比如常用的random(),wiggle(),loopOut()等等,但是没有一个中文解释,第一次用就怎么也不会用,比如一些不常见的 addToMotionGraphicsTemplate(),和编程一样,官方也同样地提供了一份帮助文档,来帮助学习ae的表达式语言,而且它还有中文版!!脚本帮助是介绍怎么写脚本的,表达式引用是介绍ae自带表达式怎么用的(自己去看)帮助文档

setp3.学一点点JS语言

先来回忆一下,如何解一道数学应用题:运送29.5吨煤,先用一辆载重4吨的汽车运3次,剩下的用一辆载重为2.5吨的货车运。问:汽车一共走了多远?还要运几次才能完?我们试着在AE里面解这道题:

表达式:

//可以通过“//”来添加一行注释

//设:运送X才能运完,y是4吨汽车运3次后剩余的重量

y=29.5-4*3

x=3+y/2.5

//最后我们用向上取整函数,对次数进行取整(如果结果是整数就没必要,为了适用所有情况所以需要)

Math.ceil(x)

案例1

上面这个例子只是用了简单的四则运算和一个js向上取整函数Math.ceil()。

接下来我们再写一个,0~1秒显示“#代号洞洞伍”,1~2秒显示“aeScripts”,2~3秒显示“从编程角度入手”的表达式动画表达式

frame = time*30 //特别提示取得帧数的方法,time*帧率

if(time<1){

"#代号洞洞伍"

}

else {

if(time<2){

"aeScripts"

}

else{

"从编程角度入手"

}

}文字动画1

这里出现了最最最关键的结构,判断结构——if(){;}else{;}结构,一个if()必须有一个else,if后面的括号里写的应该是判断条件,返回值只有True或False,或者0和1。比如if(x==23)代表x的值和23是否一样,一样则执行if(){执行的代码}else{不执行的代码},不一样则执行if(){不执行的代码}else{执行的代码}。

setp4.AE表达式中的“.”的意义

有时候用ae表达式的时候会发现类似“thisComp.layer("").text.sourceText”,基本上都可以理解这些“.”就是有中文“的”的意思,翻译下来翻译1

再回到AE里,红色箭头代表“.”,青色箭头代表各个表达式词代表的位置解析1

再进阶一点,假如在合成1里也有一个空文本图层,我们想在合成2中调取。 只需要把thisComp改成comp("合成 1")就完成了。

Step5.更加深入的学习

至此,整个用编程思路写AE表达式的方法就介绍得差不多了,如果以前从来没接触过编程也可以直接上手,核心思想就是——解数学题,然后用if分隔解题得到的各种结果,让ae做出相应结果的行为

灵活应用表达式写一些有趣的玩具可以参考我的视频投稿

想深入学习JS表达式或者写AE表达式碰见问题可以去看看http://www.runoob.com/js/js-tutorial.html也可以直接问百度

小声bb:有用的话,转发一下,下周写两个好玩的ae脚本案例出来( ̄3 ̄)

大声bb:下周写两个好玩的ae表达式案例出来( ̄3 ̄)

ae编程语言as_【微教程】从编程的思路学习AE表达式相关推荐

  1. ae编程语言as_计算机基础以及编程语言

    计算机基础 计算机组成 CPU 多核CPU:电脑可以同时干多件事,如4核CPU的电脑可以同时干四件事. 控制器 控制硬件 运算器 算术运算和逻辑运算 内存 优点: 速度快 缺点: 断掉即消失,存储容量 ...

  2. ae编程语言as_AE表达式精通大法

    AE表达式一直是大家学习AE过程中的一道坎,涉及代码网上教程资源又不多,于是很多人都没有完全地领略到AE表达式的魅力.于是这一次,我花了大量时间学习研究同时结合自己以往在工作中对表达式的运用心得.为大 ...

  3. 视频教程- 一夫达芬奇调色案例高级影视后期制作商业教程 视频课程-After Effects(AE)

    一夫达芬奇调色案例高级影视后期制作商业教程 视频课程 中国电商服务联盟品牌讲师.中国国际互联网节品牌顾问. 12年视觉设计经验,5年视觉讲师经验.电商品牌视觉策划讲师 .曾任知名电商企业设计总监.服务 ...

  4. c语言小游戏代码矿井逃生_如何选择编程语言和逃生教程炼狱

    c语言小游戏代码矿井逃生 A few weeks ago, I posted about my experience attempting to learn JavaScript, C#, Pytho ...

  5. Termux基础教程(无编程基础动图展示版)

    Termux基础教程(无编程基础版) Termux作为一个无需root就能实现很多功能的手机终端软件,它可以实现多种编程功能,其命令与Linux相似,可以为电脑暂时无法满足要求的同学提供一个编程和Li ...

  6. c 语言编程学习 编程环境_学习C ++编程语言的前5个网站

    c 语言编程学习 编程环境 Let's have a look about C++ programming language first, 首先让我们看一下C ++编程语言, C++ is an Ob ...

  7. 普林斯顿Stata教程 - Stata编程

    译者:谢作翰 | 连玉君 | (知乎 | 简书 | 码云)   原文链接:Princeton Stata 在线课程 (Princeton University - Stata Tutorial )   ...

  8. 【掌控板教程】网络编程——古语天地学习器

    [掌控板教程]网络编程--古语天地学习器 前言 中国有着悠久的历史文化,其中就包括流传至今的古代名人大家.经典古籍的传世语录.这些鼓励人们的话语,让我们的生活更加积极向上.让我们更加有奋斗的动力去追求 ...

  9. 苹果软件java教程_java编程手册苹果最新版

    java编程手册苹果最新版是一款帮助初学者进一步学习Java编程知识的手机辅助软件.使用Java编程手册时,用户可以将自己编写的Java代码输入应用中,应用会帮忙指出编程语法上的错误并修改.Java编 ...

最新文章

  1. mysql从入门到精通之数据库安装图解
  2. python三步实现人脸识别
  3. Python [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed 解决方法
  4. 超市账单管理------之获取总记录数
  5. guido正式发布python年份_Python 基础学习笔记.docx
  6. 上传 录音_老罗推荐的是最好吗?AI旗舰录音笔对比评测
  7. elasticsearch7使用指导
  8. selenium python下载_使用Selenium、Chrome和Python下载PDF
  9. eclipse 使用maven 创建springmvc + mybatis
  10. Paper Download Artifact
  11. 自己搭的12V 电机驱动电路设计
  12. 正则化之weight-decay
  13. mysql生日提醒_mysql生日提醒,闰年
  14. opencv-python 在图像上打印英文和中文字符
  15. 如何判断Hadoop集群是否搭建成功
  16. 网络安全-网站漏洞扫描器
  17. linux E325: 注意 发现交换文件 “*.swp“ 解决方法
  18. 职业教育计算机教育美育,中职计算机职业素质教育
  19. [Python从零到壹] 五十五.图像增强及运算篇之图像平滑(均值滤波、方框滤波、高斯滤波)
  20. java Thread Dump 日志分析

热门文章

  1. 10kv开关柜价格_10kv开关柜价格一般多少
  2. 计算机一级考试操作题基础操作,计算机一级考试基础操作题.doc
  3. 【服务器数据恢复】服务器进水后的数据恢复成功案例
  4. SpringMVC使用@ResponseBody直接返回json对象报HTTP Status 406 – Not Acceptable错误
  5. Android手机截屏生成gif图片
  6. 触摸矫正+android,触摸屏校正
  7. 200行Python制作音乐下载器,支持所有主流的平台
  8. python爬取机票信息
  9. idea 如何一键清除所有断点
  10. Android陀螺仪应用:平衡球小游戏