@正越升?:AE表達(dá)式一直是大家學(xué)習(xí)AE過程中的一道坎,涉及代碼網(wǎng)上教程資源又不多,于是很多人都沒有完全地領(lǐng)略到AE表達(dá)式的魅力。這幾天我一直想寫一篇《AE表達(dá)式江湖文檔》。這篇文檔的目的不在于全面地介紹表達(dá)式,那是官方文檔才做的事情。我的目的在于嘗試用直白的語言和例子闡述表達(dá)式,讓不懂代碼的人讀完后也能看得懂AE表達(dá)式,會(huì)寫AE表達(dá)式。
一直以來,大多數(shù)人都不想去碰AE的表達(dá)式,覺得和編程掛鉤的東西都很難。于是我嘗試著去思考怎么簡(jiǎn)單地做AE表達(dá)式的教程,讓大部分人能接受。
于是,這篇非官方的來自江湖的AE表達(dá)式文檔就出爐了。
江湖就有江湖的規(guī)矩。
不拘小節(jié)不刻板,不可能像官方文檔一樣每個(gè)函數(shù)都單獨(dú)拿出來講,官方文檔是讓人們當(dāng)做字典查找的,我們只講有用的,講少一點(diǎn),講簡(jiǎn)單一點(diǎn)。
本文的目的不在于全面,在于力爭(zhēng)各位讀完之后,看得懂AE表達(dá)式,會(huì)寫AE表達(dá)式!
表達(dá)式基礎(chǔ)
1、如何添加表達(dá)式
再深厚的功夫也是從扎馬步開始的。如何添加表達(dá)式呢??jī)蓚€(gè)動(dòng)作。
①按住[Alt鍵],②點(diǎn)擊你要添加表達(dá)式的屬性前面的[秒表]。
這個(gè)時(shí)候就會(huì)出現(xiàn)一個(gè)編輯框,把表達(dá)式寫進(jìn)去就可以啦。
示例:用表達(dá)式讓[ball]的位置固定在[200, 200]處。
2、表達(dá)式開關(guān)
這個(gè)開關(guān)是[開啟/關(guān)閉]表達(dá)式,可以令你在不清除表達(dá)式框的情況下,禁用表達(dá)式。
示例:表達(dá)式的開啟和禁用
3、表達(dá)式拾取器
它在民間有多個(gè)名字,飄忽不定,有人說是拾取器,有人說是關(guān)聯(lián)器,有人說是橡皮筋。
打個(gè)比方,你在寫一篇叫做《我的同學(xué)》的作文,你的同學(xué)名字叫做沃爾塔·薩斯皮諾斯·阿卡貝斯基,你記不住,于是你用手指一指你的同學(xué),他的名字就自動(dòng)出現(xiàn)在你寫的文章里面,多方便呀,多偉大的手指呀。表達(dá)式拾取器就是這只神奇的手指。
示例:用表達(dá)式讓[ball]圖層的位置位于[anotherBall]的下面50px處
4、函數(shù)菜單
AE有很多已經(jīng)內(nèi)置的函數(shù)給你用,你并不需要記住它們每個(gè)的名字和參數(shù),只需要記住有這么一個(gè)函數(shù)存在就可以,需要用的時(shí)候可以在這個(gè)菜單里面搜索你想要的函數(shù)。
表達(dá)式的規(guī)則
AE表達(dá)式的規(guī)則,等同于我們平日說話的時(shí)候主謂賓等語法規(guī)定,我們需要遵守,AE和你才能正常愉快地交流啊。
規(guī)則一:它要啥你就給它啥?
無論你表達(dá)式寫得多么長(zhǎng)多復(fù)雜,前面一大堆,都是為了計(jì)算出最后那個(gè)AE所要求的格式的東西。
[位置]:我要的是一個(gè)格式為[x, y]的東西,我好知道我在哪個(gè)地方。
[不透明度]:我只要一個(gè)數(shù)值就可以了,比如0,比如50,比如100。
[填充顏色]:我需要一個(gè)格式為[r, g, b, alpha]的東西,我好知道我是個(gè)啥顏色。
【示例】:
規(guī)則二:基本的計(jì)算?
加減乘除就不用說了,在這里提一個(gè)常用的[取余數(shù)]的符號(hào)——%。
比如:a = 100 % 3;
那么a的值就是1。
【示例】:
注:[time] 是AE提供的,表示當(dāng)前的時(shí)間。例如1s時(shí),time = 1;2.5s時(shí),time = 2.5。我們經(jīng)常利用[time]的值跟隨時(shí)間變化這個(gè)特性來制作動(dòng)畫。
規(guī)則三:變量
不要覺得[變量]這個(gè)詞很陌生可怕,其實(shí),初中開始我們的數(shù)學(xué)引入的字母,可以說就是[變量],它的作用就是來存儲(chǔ)數(shù)值的。
【示例】:
注:[time] 是AE提供的,表示當(dāng)前的時(shí)間。最后一個(gè)示例中的”time % 1”,表示當(dāng)前時(shí)間對(duì)1取余數(shù)。例如time = 1.5s處,time % 1 = 0.5。因此,(time % 1) 隨著時(shí)間在0~1之間不斷變化。
規(guī)則四:語句?
表達(dá)式是由一行一行的語句構(gòu)成的,每個(gè)語句以一個(gè)分號(hào)結(jié)尾,當(dāng)然AE表達(dá)式允許你忽略分號(hào),不過在每個(gè)語句后面添加分號(hào),是一個(gè)好的習(xí)慣。
規(guī)則五:注釋?
先看看下面兩個(gè)表達(dá)式:
上面那個(gè)可能你一開始看到,一時(shí)半會(huì)不知道它是用來做什么的。
但是下面那個(gè)表達(dá)式,添加了作者的注釋,一目了然!
有兩種注釋的方法:
- 單行注釋:兩個(gè)斜杠 // 可以注釋掉同一行后面的所有內(nèi)容。
- 多行注釋:可以用 /* 和 */ 把要注釋的內(nèi)容括起來,這種方式可以注釋多行內(nèi)容。
話說回來,注釋可以解釋代碼的作用,增加可讀性,同時(shí)它不會(huì)被運(yùn)行,直接被AE忽略掉。簡(jiǎn)單來說,表達(dá)式是寫給AE看的,注釋是寫給人看的。
【示例】:
規(guī)則六:類型?
在AE表達(dá)式中,變量a常見的類型有
- 數(shù)值。例如數(shù)字1、1.5、-10。
- 字符串。用引號(hào)包括起來,例如一個(gè)字符串”哈嘍你好呀”、”我在寫文檔ing” 。
- 布爾值。判斷對(duì)錯(cuò)的布爾類型 true 和 false 。
- 數(shù)組。由許多元素組成的一個(gè)組。
規(guī)則七:條件?
條件語句的結(jié)構(gòu)其實(shí)很簡(jiǎn)單,總結(jié)來說就是:
注意:
一個(gè)if后面可以跟著無數(shù)個(gè)else if,但是只能跟著一個(gè)else,且必須在最后面。
{} 花括號(hào)后面不需要加分號(hào)。
if 和else if后面的括號(hào)里是判斷的條件,常見的判斷有以下:
1、a == 1 (判斷a的值是不是等于1,切記是兩個(gè)等于號(hào))
2、a >= b (判斷a的值是不是大于等于b)
3、 !(3 > 1) (!表示取反,因?yàn)?>1是true,所以取反之后這個(gè)條件是false)
4、flag (判斷flag是布爾值true還是false)
5、0 (當(dāng)判斷條件是0,則表示false,若是0以外的其他數(shù)字,則表示true)
【示例】:
規(guī)則八:循環(huán)?
個(gè)人感覺:循環(huán)在AE表達(dá)式里面的使用其實(shí)還挺少見的(所以循環(huán)的例子好難想呀) 。
循環(huán)有三種形式,你可以根據(jù)具體情況選擇任意一種。
舉個(gè)例子我們看看怎么使用。
注:在循環(huán)塊里面添加”break;“,表示跳出(打破)這個(gè)循環(huán),不管循環(huán)條件滿不滿足,都跳出循環(huán)。
和 “break;” 類似的還有一個(gè) “continue;” ,它表示結(jié)束本次循環(huán),進(jìn)行下次循環(huán),而不是跳出(打破)循環(huán)。
規(guī)則九:函數(shù)?
1、內(nèi)置函數(shù):
還記得那個(gè)函數(shù)菜單嗎?在里面我們可以看到很多AE提供給我們使用的函數(shù)。
例如:
a、wiggle(freq, amp); ?// [擺動(dòng)]函數(shù),freg是頻率,amp是幅度
b、random(min, max); ?// [隨機(jī)]函數(shù),在min和max值之間取一個(gè)隨機(jī)值?(更多內(nèi)置常用的函數(shù)將在第四節(jié)講解)
2、自定義函數(shù):
個(gè)人感覺:在AE表達(dá)式中自定義函數(shù)還是比較少見的。
函數(shù)的定義格式如下:
在這里我們簡(jiǎn)單地舉一個(gè)例子:
注:因?yàn)閞andom()返回的是一個(gè)小數(shù),所以我們自己寫了一個(gè)getRandomInt(min, max)函數(shù)來返回一個(gè)隨機(jī)的整數(shù)。
規(guī)則十:那些特殊的規(guī)則?
1、a = a + 1; 這個(gè)語句我們可以簡(jiǎn)寫為 a++;
2、同理,a = a - 1; 我們可以簡(jiǎn)寫為 a--;
3、條件語句還有一種寫法:condition ? do somthing : or do something;
這是在 if 和 else 都只有一個(gè)語句的時(shí)候可以采取的簡(jiǎn)寫方式。
舉例: 2 < 3 ? a = 1 : a = 0; // a的值為1
一般我們寫成 a = 2 < 3 ? 1 : 0; // a的值為1
注:想完整地學(xué)習(xí)語法規(guī)則可以去runoob.com或者w3school.com.cn搜javascript的教程看。
歡迎關(guān)注作者微信公眾號(hào):壞打印機(jī)
「有哪些看上去很高大上,但實(shí)際很簡(jiǎn)單的PS技巧?」
《有哪些看上去很高大上,但實(shí)際很簡(jiǎn)單的PS技巧?》
《有哪些看上去很高大上,但實(shí)際很簡(jiǎn)單的PS技巧?(入門篇)》
冷知識(shí)系列第一期:《那些你不知道的PHOTOSHOP冷知識(shí)》
冷知識(shí)系列第二期:《第二彈!那些你不知道的PHOTOSHOP冷知識(shí)之乾坤大挪移》
冷知識(shí)系列第三期:《最終完結(jié)篇!那些你不知道的PHOTOSHOP冷知識(shí)》
冷知識(shí)系列完結(jié)篇:《最終完結(jié)篇特制版!那些你不知道的PHOTOSHOP冷知識(shí)(四)》
【優(yōu)設(shè)網(wǎng) 原創(chuàng)文章 投稿郵箱:2650232288@qq.com】
================關(guān)于優(yōu)設(shè)網(wǎng)================
"優(yōu)設(shè)網(wǎng)uisdc.com"是國內(nèi)人氣最高的網(wǎng)頁設(shè)計(jì)師學(xué)習(xí)平臺(tái),專注分享網(wǎng)頁設(shè)計(jì)、無線端設(shè)計(jì)以及PS教程。
【特色推薦】
設(shè)計(jì)師需要讀的100本書:史上最全的設(shè)計(jì)師圖書導(dǎo)航:http://hao.uisdc.com/book/。
設(shè)計(jì)微博:擁有粉絲量104萬的人氣微博@優(yōu)秀網(wǎng)頁設(shè)計(jì) ,歡迎關(guān)注獲取網(wǎng)頁設(shè)計(jì)資源、下載頂尖設(shè)計(jì)素材。
設(shè)計(jì)導(dǎo)航:全球頂尖設(shè)計(jì)網(wǎng)站推薦,設(shè)計(jì)師必備導(dǎo)航:http://hao.uisdc.com
復(fù)制本文鏈接 文章為作者獨(dú)立觀點(diǎn)不代表優(yōu)設(shè)網(wǎng)立場(chǎng),未經(jīng)允許不得轉(zhuǎn)載。
發(fā)評(píng)論!每天贏獎(jiǎng)品
點(diǎn)擊 登錄 后,在評(píng)論區(qū)留言,系統(tǒng)會(huì)隨機(jī)派送獎(jiǎng)品
2012年成立至今,是國內(nèi)備受歡迎的設(shè)計(jì)師平臺(tái),提供獎(jiǎng)品贊助 聯(lián)系我們
品牌形象設(shè)計(jì)標(biāo)準(zhǔn)教程
已累計(jì)誕生 726 位幸運(yùn)星
發(fā)表評(píng)論 為下方 10 條評(píng)論點(diǎn)贊,解鎖好運(yùn)彩蛋
↓ 下方為您推薦了一些精彩有趣的文章熱評(píng) ↓