Flash高級(jí)技巧:全新Flash鏡頭的控制處理_Flash教程
教程Tag:暫無Tag,歡迎添加,賺取U幣!
推薦:Flash教程:純AS代碼制作的燃燒的火焰效果燃燒的火:純AS代碼火焰效果,F(xiàn)lash教程。希望大家理解把握!效果如下。希望需要的朋友拿去用,順便也希望拿走代碼的朋友能頂起來,不要只拿代碼不回帖,到時(shí)
前言: 該教程介紹了一種有別于傳統(tǒng)的Flash鏡頭控制方式, 其原理簡(jiǎn)單但確能在某種程度上提高工作效率, 增加動(dòng)畫的可看性, 讓一個(gè)動(dòng)畫同時(shí)擁有不同角度的”拍攝”方式.那么就請(qǐng)先看以下示例:乍一看好似也看不出什么端倪, 無非就是過渡時(shí)多了雙向緩沖罷了, 其實(shí)在這個(gè)動(dòng)畫中我并沒有對(duì)圖片作任何移動(dòng)或縮放, 唯一處理的是一個(gè)稱為”camera”的影片剪輯, 如下:
在影片中單純的控制鏡頭的行為, 然后輸出動(dòng)畫的時(shí)候, 動(dòng)畫的內(nèi)容就是鏡頭內(nèi)的內(nèi)容.
有愛好的直接進(jìn)入教程內(nèi)容
(注重: 教程對(duì)于初級(jí)的操作將不做多d 說明和截圖, 假如是初級(jí)用戶請(qǐng)先熟悉Flash一段時(shí)間再來學(xué)習(xí)此教程, 另外出于版本原因, 這里只提供Flash8.0版的源文件, 低版本的建議升級(jí), 如真有需要低版本的源文件, 請(qǐng)E-mail聯(lián)系: [email protected])
一: 普通用戶
對(duì)原理沒什么愛好的或AS把握不多的, 我們直接打開原代碼, 我來說明下如何使用即可.
[源文件下載]:點(diǎn)擊這里下載Fla源文件
打開源文件, 你可以大致了解一下, 內(nèi)容和元件不多, 看一看其實(shí)就知道該怎么操作了.
當(dāng)你要作自己的動(dòng)畫的時(shí)候, 具體操作如下:
1: 更改場(chǎng)景大小, 情況自定
2: 打開庫(kù)(順便查看下庫(kù)里的文件), 雙擊”鏡頭”, 更改鏡頭大小, 與場(chǎng)景相同, 并且居中對(duì)齊
3: 返回場(chǎng)景, 解開遮罩鎖, 居中遮罩層的鏡頭,移動(dòng)”影片載體”, 使藍(lán)色區(qū)域與場(chǎng)景重合(用邊框模式查看, 方便對(duì)齊)
4: 打開庫(kù), 雙擊”影片內(nèi)容”, 這里就是主要?jiǎng)赢嫷木庉嬑恢昧?BR>5: 在場(chǎng)景中, 鏡頭可根據(jù)情況和需要進(jìn)行操作, 亦可刪除, 結(jié)合使用, 沒有一定的方式, 究竟制作動(dòng)畫的類型和情況很多, 這只是一種選擇方式, 至于適不適合還是依個(gè)人情況而定,更多的還是習(xí)慣問題…
二: 進(jìn)階的使用, 多鏡頭處理
這是這個(gè)鏡頭控制最有趣的地方了, 當(dāng)你對(duì)源文件的AS作了初步了解的時(shí)候, 你會(huì)發(fā)現(xiàn)其實(shí)都是很基礎(chǔ)的AS, 唯一的關(guān)聯(lián)就是鏡頭”camera” , 那么假如我在動(dòng)畫中使用的多個(gè)鏡頭, 比如”camera1” “camera2””camera3”…
那么只要定義一個(gè)全局”camera”, 就可以隨意的在動(dòng)畫中變換鏡頭了, 具體請(qǐng)查看下面這個(gè)flash:
[鬼斗測(cè)試版右鍵下載](建議下載后觀看,否則后果自負(fù)…)
(播放片頭動(dòng)畫的時(shí)候按”空格”可跳過, 然后在格斗過程中按”C”切換鏡頭, Fast!! ) 當(dāng)然這還不是應(yīng)用的典范, 典范就等著大家去創(chuàng)造了!!
在源文件中修改很簡(jiǎn)單, 使用eval 函數(shù), 假如對(duì)eval函數(shù)不了解的下面有簡(jiǎn)單介紹:
1: 由于鏡頭的命名方式是camera1,2,3…所以就在主時(shí)間軸的幀上定義一個(gè)came , 作為數(shù)字1,2,3…的代號(hào)
2: 修改影片載體和影片內(nèi)容上的AS ,如下:
影片載體:
onClipEvent (enterframe) {
setProperty(this, _xscale, 10000/getProperty(eval("this.all.camera" _root.came), _xscale));
setProperty(this, _yscale, 10000/getProperty(eval("this.all.camera" _root.came), _yscale));
}影片內(nèi)容:
onClipEvent (EnterFrame) {
setProperty(this, _x, -getProperty(eval("this.camera" _root.came), _x));
setProperty(this, _y, -getProperty(eval("this.camera" _root.came), _y));
}3:可根據(jù)不同情況去定義came,
例:
came = 1 ; 就是使用鏡頭1;
came = random (3) 1;
就是隨機(jī)鏡頭;
也可以用按鈕控制鏡頭, 或者AS控制. 記得控制的是 _root.came ;
三: 進(jìn)階的基礎(chǔ)上再進(jìn)階, 不同鏡頭在不同時(shí)間點(diǎn)上的切換
假設(shè)一個(gè)動(dòng)畫的某場(chǎng)景中有2個(gè)人物, 畫面出現(xiàn)有20幀, 然后有2個(gè)鏡頭(camera1, camera2), 一個(gè)對(duì)準(zhǔn)左邊的人物, 一個(gè)對(duì)準(zhǔn)右邊的人物, 然后鏡頭1控制左邊的人物20幀后, 要使鏡頭2再次控制右邊的人物20幀, 這時(shí)就要在第二十幀加入代碼:
//假設(shè)該場(chǎng)景出現(xiàn)的幀是40;
gotoAndPlay(40)
_root.came = 2假如單純這樣的話, 那動(dòng)畫不就進(jìn)入無限循環(huán)了, 那就再想個(gè)方法吧:
在本時(shí)間軸上定義一個(gè)數(shù): ova = 1; 然后在第60幀添加代碼:
if (ova == 1) {
_root.came = 2
gotoAndPlay(20);
ova = ova 1;
}這樣動(dòng)畫就只會(huì)循環(huán)1次而已, 因?yàn)榕卸l件是ova == 1, 而第二次回來的時(shí)候ova已經(jīng) ==2 了
以上就是該”鏡頭”的使用方式了, 至于還有沒有更多的拓展性, 就看大家的巧思了!!
--------*關(guān)于eval函數(shù)--------------------------------------------------------------
其實(shí)AS我也是自學(xué)的, 算基礎(chǔ)型的吧, 所以復(fù)雜的不會(huì), 更多的是變相的搭配, 從0到如今的過程中自然會(huì)碰到很多問題, 每一次的突破就是一次進(jìn)步, 所以致所有Flash初級(jí)愛好者, 別異想天開的希望有人能教你, 這個(gè)自學(xué)的過程所必經(jīng)的, 假如走不了, 過不去, 那玩玩就好, 別當(dāng)真啊…哈哈…(自學(xué)在于書本以及網(wǎng)絡(luò)上的教程以及實(shí)踐)
eval: 針對(duì)含有變量的表達(dá)式的引用, 中階用戶在AS上經(jīng)常會(huì)碰到相對(duì)路徑, 絕對(duì)路徑, 相對(duì)引用等問題, _root, _parent, “mc_name”等…當(dāng)mc_name中包含變量, 比如: 當(dāng)came為動(dòng)態(tài)變量時(shí), 用以下方式將無法得到正確引用;
came = random(3) 1 //時(shí)間軸
setProperty(_root.camera _root.came , _x, 300) //某MC上的命令, 以前我就陷入了這個(gè)僵局, 后來意外看到eval函數(shù),才…)
對(duì)于路徑中含有多字符串組合的, 應(yīng)采用eval(“_root.camera” _root.came)的格式來返回正確的目標(biāo)路徑
(解釋可能不怎么清楚, 或有誤點(diǎn), 自己看自帶的help 慢慢體會(huì)吧, 自學(xué)AS最好的方式還是Flash的自帶help)
最后提供一個(gè)說明性較強(qiáng)的源文件, 還不了解的同學(xué)就下載來多學(xué)習(xí)研究吧 ,希望我的這個(gè)小教程能對(duì)你有所幫助.[源文件下載]:點(diǎn)擊這里下載源文件
分享:Flash片頭loading與V2組件相關(guān)問題很早之前我曾經(jīng)說過“沒有l(wèi)oading的Flash,不是完整的flash”。我想那個(gè)句話可能偏激了。因?yàn)橛袝r(shí)候一些不到10k的flash,確實(shí)不需要做什么loading。但我始終認(rèn)
相關(guān)Flash教程:
- 相關(guān)鏈接:
- 教程說明:
Flash教程-Flash高級(jí)技巧:全新Flash鏡頭的控制處理
。