我們做一個動畫短片的時候有沒有考慮怎樣使它倒轉(zhuǎn)播放呢?如果說短片里只有一個motion tween或者shape tween,那么很容易,一個revert frame就可以完成倒放。
但是一個動畫短片里面往往不僅有前面提及的漸變動畫而且還有幀動畫,以及若干的層,那么這樣的動畫短片要實現(xiàn)倒轉(zhuǎn)播放就不是一個簡單的 revert frame 命令就可以完成的。今天我要說的就是利用actionscript 來實現(xiàn)動畫短片的倒轉(zhuǎn)播放控制。
演示效果如下:按“播放”按鈕,影片就會正常播放,按“倒帶”按鈕,影片就會倒轉(zhuǎn)播放,而且隨時有效!
原理很簡單,首先我們應(yīng)該有一個現(xiàn)成的動畫短片,然后就是制作一個只含有AS腳本的MC ,該MC里的AS腳本能夠控制動畫短片的倒轉(zhuǎn)播放和正常播放!在做2個按鈕來控制含有AS腳本的MC的動作。
步驟一:在現(xiàn)有的動畫短片中增加一個層:AS,在這個層上我們來放置一個只含有AS腳本的MC和2個控制該MC動作的按鈕:“倒帶”和“播放”按鈕。圖中紅色圓圈內(nèi)已經(jīng)被鎖定的層就是我們要隨時使它正常播放和倒帶的動畫短片。
步驟二:(只含有AS腳本的MC的制作)新建一個MC:控制。在layer1中插入5個關(guān)鍵幀,如下圖所示:
在*幀上寫入AS腳本:stop();
在第二幀寫入AS腳本:
tellTarget ("../") {
prevFrame();
}
//“../”表示是上一級的MC,我們也可以用_parent來代替,一樣的效果。
// prevFrame();的作用是停到上一幀去。
在第三幀寫入AS腳本:
call(2);
gotoAndPlay(2);
// call(2);調(diào)用第2幀的動作
// gotoAndPlay(2);到第2幀并播放(這樣若從第二幀播放那么到第三幀時在返回到第二幀,就形成了一個循環(huán),從而達到使上一級MC倒轉(zhuǎn)播放的目的)
在第四幀上寫入AS腳本:
tellTarget ("../") {
nextFrame();
}
//“../”表示是上一級的MC,我們也可以用_parent來代替,一樣的效果。
// nextFrame();的作用是停到下一幀去。
在第五幀上寫入AS腳本:
call(4);
gotoAndPlay(4);
// call(4);調(diào)用第4幀的動作
// gotoAndPlay(4);到第4幀并播放(這樣若從第四幀播放那么到第五幀時在返回到第四幀,就形成了一個循環(huán),從而達到使上一級MC正常播放的目的)
步驟三:回到Scene 1 在AS層上拖入“控制”MC到場景中,(注意:由于“控制”MC里面只有AS腳本沒有任何圖形元素,所以顯示為圖中紅色圓圈中的小點),同時賦予該MC一個instance 。
步驟四:在場景中拖入2個按鈕如下如所示:
在倒放按鈕“<”上加上AS 腳本:
on (release){
tellTarget("as"){
gotoAndPlay(2);
}
}
//讓MC:AS從第二幀開始播放,執(zhí)行“AS”中的腳本實現(xiàn)動畫短片的倒轉(zhuǎn)播放。
在正常播放按鈕“〉”上加上腳本:
on (release){
tellTarget("as"){
gotoAndPlay(4);
}
}
// 讓MC:AS從第四幀開始播放,執(zhí)行“AS”中的腳本實現(xiàn)動畫短片的正常播放。
現(xiàn)在測試看看是否成功?!源文件下載
但是一個動畫短片里面往往不僅有前面提及的漸變動畫而且還有幀動畫,以及若干的層,那么這樣的動畫短片要實現(xiàn)倒轉(zhuǎn)播放就不是一個簡單的 revert frame 命令就可以完成的。今天我要說的就是利用actionscript 來實現(xiàn)動畫短片的倒轉(zhuǎn)播放控制。
演示效果如下:按“播放”按鈕,影片就會正常播放,按“倒帶”按鈕,影片就會倒轉(zhuǎn)播放,而且隨時有效!
原理很簡單,首先我們應(yīng)該有一個現(xiàn)成的動畫短片,然后就是制作一個只含有AS腳本的MC ,該MC里的AS腳本能夠控制動畫短片的倒轉(zhuǎn)播放和正常播放!在做2個按鈕來控制含有AS腳本的MC的動作。
步驟一:在現(xiàn)有的動畫短片中增加一個層:AS,在這個層上我們來放置一個只含有AS腳本的MC和2個控制該MC動作的按鈕:“倒帶”和“播放”按鈕。圖中紅色圓圈內(nèi)已經(jīng)被鎖定的層就是我們要隨時使它正常播放和倒帶的動畫短片。
步驟二:(只含有AS腳本的MC的制作)新建一個MC:控制。在layer1中插入5個關(guān)鍵幀,如下圖所示:
在*幀上寫入AS腳本:stop();
在第二幀寫入AS腳本:
tellTarget ("../") {
prevFrame();
}
//“../”表示是上一級的MC,我們也可以用_parent來代替,一樣的效果。
// prevFrame();的作用是停到上一幀去。
在第三幀寫入AS腳本:
call(2);
gotoAndPlay(2);
// call(2);調(diào)用第2幀的動作
// gotoAndPlay(2);到第2幀并播放(這樣若從第二幀播放那么到第三幀時在返回到第二幀,就形成了一個循環(huán),從而達到使上一級MC倒轉(zhuǎn)播放的目的)
在第四幀上寫入AS腳本:
tellTarget ("../") {
nextFrame();
}
//“../”表示是上一級的MC,我們也可以用_parent來代替,一樣的效果。
// nextFrame();的作用是停到下一幀去。
在第五幀上寫入AS腳本:
call(4);
gotoAndPlay(4);
// call(4);調(diào)用第4幀的動作
// gotoAndPlay(4);到第4幀并播放(這樣若從第四幀播放那么到第五幀時在返回到第四幀,就形成了一個循環(huán),從而達到使上一級MC正常播放的目的)
步驟三:回到Scene 1 在AS層上拖入“控制”MC到場景中,(注意:由于“控制”MC里面只有AS腳本沒有任何圖形元素,所以顯示為圖中紅色圓圈中的小點),同時賦予該MC一個instance 。
步驟四:在場景中拖入2個按鈕如下如所示:
在倒放按鈕“<”上加上AS 腳本:
on (release){
tellTarget("as"){
gotoAndPlay(2);
}
}
//讓MC:AS從第二幀開始播放,執(zhí)行“AS”中的腳本實現(xiàn)動畫短片的倒轉(zhuǎn)播放。
在正常播放按鈕“〉”上加上腳本:
on (release){
tellTarget("as"){
gotoAndPlay(4);
}
}
// 讓MC:AS從第四幀開始播放,執(zhí)行“AS”中的腳本實現(xiàn)動畫短片的正常播放。
現(xiàn)在測試看看是否成功?!源文件下載