本章节主要通过"补零"的例子来介绍 if 条件函数

 

效果图

 

能用来作什么?

条件判断/随机数,可以用于视频制作中的小部件以及背景的数字跳动

 

所用方法/函数

- random 生成随机数

- toFixed 对随机数取整

- if 条件判断

 

代码

/**

* 0-999随机数 补零

* text

* @random 随机

* @toFixed 取整

* @if 条件判断

*/

 

var num = random(0,999).toFixed(0); //定义&赋值 一个随机数 取整,小数位数为0,最大值可滑块

if ( num < 10 ) {             //判断

  "00" + num;                 //补零

}else if ( num < 100 ) {

  "0" + num;

}else{

  num;

}

 


注意点

- 学习请从第0章开始,不教ae基础操作

- var 是声明变量,意思就是告诉程序"我需要一个东西,这个东西是什么"

- 每一句结尾都已";"结尾,要不容易报错;所有的标点符号都必须是英文半角

- 建议使用英文版AE,如果你是中文版,那一定要看好[子父级]位置和一些AE自带的[固定变量]中文名

- 刚开始书写代码的时候,建议和我一样:在开头用/*……*/(多行注释)去说明这串代码的作用所用函数/方法,以免以后遗忘,这是一个好习惯

- 每一句重点代码的后面可以使用 //……(单行注释) 来注释说明,多注释,这是一个好习惯

 

代码解析

思路框架

整体的思路很简单

生成随机数 → 取整 → 条件判断 → 对符合条件的"加0"

 

逐句解析

新建一个文字层,对文字层的source text(源文本)添加表达式

 

var num = random(0,999).toFixed(0);

语义:声明一个变量 num(变量可以为自己所能接受的名字不一定要按我的来),num的值为0-999的随机值,再对随机值利用 toFixed 方法取整数。

函数/方法解析:

random(min,max) :括号内第一个数值为最小值,第二个数值为最大值,生成的随机数带非常多的小数位数

toFixed(0) :括号内为保留的小数位数

 

if ( num < 10 ) {       

  "00" + num;          

}else if ( num < 100 ) {

  "0" + num;

}else{

  num;

}

语义:当num小于10的时候,num之前加"00"(输出为文本);否则 当num小于100的时候,num之前加"00";否则 输出原数值;这里看成2个if……else……拼接而成

注意点:小于10一定要在小于100之前,因为js的语法是从上到下执行的,小于100包含了小于10,如果小于100写在之前,那么小于10将失去判断意义

函数/方法解析:

if(){}else{} :条件判断,当……就……否则……;也可以用于执行循环,今后会教到

 

特别注意点:

输出的类型为string(文本),所以输出之后不可直接用于运算,需要类型转换

可以用typeof 验证一下,在最后一行增加

typeof num;

 


拓展

用if控制wiggle 缓慢 停止,可以自己试一试,里面的参数都可以用"滑块控制代替

 

/**

* 控制时间的震动

* position

* @wiggle 震动

* @if 条件判断

*/

 

var freq = 20;    //频率

var endtime = 2;     //震动停止的开始时刻

var speed = 10;    //减慢速度,越大越快

 

if ( endtime < time ){

 

 x = wiggle (freq / ((time-endtime)*speed),10);

 y = wiggle (freq / ((time-endtime)*speed),15); 

 value + [x[0],y[1]];

 

}else{

 

 x = wiggle (freq,10);

 y = wiggle (freq,15); 

 value + [x[0],y[1]];

 

}

 


感谢大家能看到这里,对于本篇的建议或者意见可以在留言中指出,也欢迎大家投稿与讨论。

 

2019/09/16

 

本站文章基于国际协议BY-NA-SA 4.0协议共享;
如未特殊说明,本站文章皆为原创文章,请规范转载。


聞いて、感じて、考えて、そして…