我們在Flash的制作中,往往需要對色彩進行控制,以使我們的動畫影片更多彩多姿。
那么,在Flash中到底有多少方法可以來控制色彩呢?答案有二個:
① 直接賦值或者取回數(shù)值于對象,數(shù)值為標準RGB格式; SetRGB(R,G,B);// R,G,B 為小于255,大于0 的整數(shù) GetRGB(R,G,B);
② 將對象的色彩值賦值進行偏轉(zhuǎn),或者取回物件色彩已經(jīng)偏轉(zhuǎn)的色彩值。 SetTransform(change_color); GetTransform(change_color);
然而,我們在對色彩對象賦值的時候,卻并不總是需要將RGB的三個值都同時改變,而是希望其中某一個值進行變化,并希望它還能“記憶”自身變化前的原始色彩。那么,我們就需要好好來研究一下Flash如何對一個色彩物件進行色彩偏轉(zhuǎn)了。
Flash 提供了色彩偏轉(zhuǎn)這樣一個對色彩對象操作的功能,使我們的工作變得輕松了許多。
你可以跟著這個范例,一步步的來詳細了解Flash的色彩偏轉(zhuǎn)方法:
壹:創(chuàng)建一個色彩對象
在Falsh中開一個新文件,隨便你自己喜歡,畫一個由 純黑 填充的形狀來。然后將其轉(zhuǎn)換為一個MC對象,我在例子里面畫了一個正方,并命名這個MC為“Sq”。 有人要問了:為什么要填黑它?原因是這樣的:RGB是光學色彩,在RGB三值為0時,便是無光,也就是漆黑一片了。:) 所以,我們創(chuàng)建一個“RGB無色”的對象,在以后賦值時就可得到所有RGB范圍的變化值。詳細原理,后面將逐步談到。
貳:操作面板的色彩變化調(diào)整
我們知道:在 Flash 中可以通過 Effect 浮動板對 Symbol 進行各種色彩調(diào)整。 打開Advanced項目,可以看到 4 對 色彩調(diào)整: 分別是 R,G, B, Alpha 值的調(diào)整。默認狀態(tài)下,左邊的都會是100%,右邊的都會是0。 OK, 試著輸入一些數(shù)值到右側(cè)的數(shù)值框內(nèi),你應(yīng)該可以看到MC發(fā)生了色彩變化。實事上,你也知道,這個變化不是改變了MC的原色色彩,而是對MC的色彩進行了RGB三個通道的偏轉(zhuǎn)。(一旦你在項目中選取 None,就可使MC的顏色恢復(fù)到初始狀態(tài)了) 你也許又在想:這是屏幕操作面板操作,是手動的。在Flash影片中,可以有參數(shù)自由控制成我現(xiàn)在調(diào)整的樣子嗎? 答案是:沒問題! 那么,就不要亂動了,把MC恢復(fù)為黑色,我們來進行下一步了!
叁:代碼實現(xiàn)
看看下面的代碼,很簡單吧?:) 你可以在第一幀里面帖入下面一段代碼,并測試一下效果
// 指定一個新的色彩對象到MC
colorA = new Color(_root.Sq);
// 定義一個新的色彩轉(zhuǎn)換體
change_color = new Object();
// 你必須先創(chuàng)建一個色彩對象
// 然后才能將新色彩轉(zhuǎn)換值賦予這個對象
//
// 下面是色彩偏轉(zhuǎn)值設(shè)定
change_color.rb = 255; // 設(shè)定R 偏轉(zhuǎn)
change_color.gb = 128; // 設(shè)定G 偏轉(zhuǎn)
change_color.bb = 66; // 設(shè)定B 偏轉(zhuǎn)
// 實施色彩偏轉(zhuǎn)
colorA.setTransform(change_color);
// 另外一種色彩偏轉(zhuǎn)寫法如下:
// 下面是色彩偏轉(zhuǎn)值設(shè)定
change_color = {ra:'100', rb:'255', ga:'100', gb:'128',
ba:'100', bb:'66', aa:'100', ab:'0'};
// 實施色彩偏轉(zhuǎn)
colorA.setTransform(change_color);
我個人比較喜歡上面一個寫法,雖然意義一樣,但上一種可以單獨控制某一個值,用起來比較方便,下面一個寫法就非要你寫全不可了。
圖中代碼選擇的區(qū)域,即是和Effect面板里面右側(cè)的數(shù)值對應(yīng)的色彩偏轉(zhuǎn)參數(shù)了。 它們分別是 rb, gb, bb。注意它們是隸屬于色彩轉(zhuǎn)換體的值,所以要用點連接。
下面是實際輸出的swf效果和控制板里面的Effect調(diào)色對照,結(jié)果就更清晰了。
這一講就到這里,更多的控制調(diào)整技巧會根據(jù)大家的反應(yīng)來繼續(xù)了。
注:所有相關(guān) Action Script,請查閱 Falsh 幫助里面的 color 關(guān)鍵詞。
(此案例教程是配合 經(jīng)典論壇 探討需求所設(shè)計,若有需要轉(zhuǎn)載或詳細Falsh色彩控制相關(guān)教程,請直接與Quester聯(lián)系)
出處:藍色理想
責任編輯:藍色
◎進入論壇Flash專欄版塊參加討論
|