日韩天天综合网_野战两个奶头被亲到高潮_亚洲日韩欧美精品综合_av女人天堂污污污_视频一区**字幕无弹窗_国产亚洲欧美小视频_国内性爱精品在线免费视频_国产一级电影在线播放_日韩欧美内地福利_亚洲一二三不卡片区

合并不同幀頻(fps)的Flash文件_Flash教程

編輯Tag賺U幣
教程Tag:暫無(wú)Tag,歡迎添加,賺取U幣!

推薦:Flash引導(dǎo)線制作雪花飄飄動(dòng)畫
本文介紹在Flash中利用引導(dǎo)線制作雪花飄飄動(dòng)畫。模板無(wú)憂這種方法最笨但也效果最好,就是用“引導(dǎo)線”功能,讓雪花不停的飄呀飄,假如多用幾個(gè)圖層,效果

  Flash中要合并不同幀頻(fps)的文件的確問(wèn)題是一個(gè)令人困擾的話題,因?yàn)镕lash本身并不提供任何動(dòng)態(tài)改變幀速的函數(shù)。

  也無(wú)法寫一個(gè)通用函數(shù)來(lái)達(dá)到這一目的。但凡事只要開(kāi)動(dòng)腦筋,總有解決辦法。下面我們分情況討論。

  一. 需要合并的幾個(gè)flash文件完全獨(dú)立

  在大多數(shù)情況下,假如只需要把這些swf文件串起來(lái)逐一播放,不需要進(jìn)行嵌套,單純讓每段swf按照它自己的速度播放,是完全可行的,只需要加少量腳本。

  例如:你有3個(gè)swf文件,分別命名為:movie.swf,movie1.swf,movie2.swf。

  只需要在movie.fla的最后一幀加上一句腳本:loadMovieNum("movie1.swf", 0);
  在movie1.fla的最后一幀同樣加上一句腳本loadMovieNum("movie2.swf", 0)。
 
  注重,使用這種方法時(shí),假如在動(dòng)畫的最前面加了loading腳本,它檢測(cè)的載入是否完成只是針對(duì)第一段,假如需要檢測(cè)所有片段是否已經(jīng)載入,需要更復(fù)雜的腳本。

  二. 合并的flash文件需要進(jìn)行嵌套播放

  這種情況比較麻煩,因?yàn)樵噲D找出一勞永逸的方法似乎是不可能的。只能改啊改的,我討厭重復(fù)勞動(dòng)。

  假設(shè)子體只包括跳轉(zhuǎn)語(yǔ)句(stop、play、gotoAndStop、gotoAndPlay)。母體需要加如下代碼:

///////在第一幀插入如下代碼////////
MovieClip.prototype.c_stop = ASnative(900, 13);
MovieClip.prototype.c_play = ASnative(900, 12);
MovieClip.prototype.c_gotoAndStop = ASnative(900, 17);
MovieClip.prototype.c_gotoAndPlay = ASnative(900, 16);
//重構(gòu)跳轉(zhuǎn)函數(shù)
MovieClip.prototype.stop = function() {
this.stop_boolean = true;
this.c_stop()
};
MovieClip.prototype.play = function() {
this.stop_boolean = false;
this.c_play()
};
MovieClip.prototype.gotoAndStop = function(n:Number) {
this.stop_boolean = true;
this.c_gotoAndStop(n)
};
MovieClip.prototype.gotoAndPlay = function(n:Number) {
this.stop_boolean = false;
this.c_gotoAndPlay(n)
};

//子體播放函數(shù)
function childRun(target_mc:MovieClip) {
if (!target_mc.stop_boolean) {
target_mc.nextFrame();
if (target_mc._currentframe == target_mc._totalframes)
}
// 遞歸檢查子MC
for (i in target_mc) {
if (target_mc._name)
}
//下面這句話很重要,它使你的高速動(dòng)畫能得到及時(shí)刷新,但相應(yīng)的也提高了CPU的負(fù)載
updateAfterEvent();
}

//加載偵聽(tīng)器
var mclListener:Object = new Object();
//當(dāng)子體載入完成時(shí),停止子體并控制其播放
mclListener.onLoadComplete = function(target_mc:MovieClip) {
clearInterval(child_val);
child_val = setInterval(childRun, fps, target_mc);
};
var image_mcl:MovieClipLoader = new MovieClipLoader();
image_mcl.addListener(mclListener);

///////在需要加載子體的位置插入如下代碼////////
//子體的宿主
this.createEmptyMovieClip("子體", this.getNextHighestDepth());
//假如需要載入的swf幀速是60,那么fps=1000/60
var fps:Number = 1000/60;
image_mcl.loadClip("子體.swf", 子體);

  接著看一下子體文件,假設(shè)某幀上原來(lái)有下面的函數(shù):

stop();
play_btn.onRelease = function() ;
gotoAndStop_btn.onRelease = function() ;
  需要把它們進(jìn)行一下改造,把所有缺省調(diào)用的跳轉(zhuǎn)語(yǔ)句改成"mc. 跳轉(zhuǎn)語(yǔ)句"的方式:

this.stop();
play_btn.onRelease = function() ;
gotoAndStop_btn.onRelease = function() ;
  注重:別忘了改造子體中所有含有跳轉(zhuǎn)語(yǔ)句的腳本(nextFrame和prevFrame不用改),假如子體含有onEnterFrame程序,請(qǐng)改成SetInterval方式。假如你的子體在某一幀包括的MovieClip超過(guò)了256個(gè),會(huì)出現(xiàn)遞歸溢出的錯(cuò)誤。

分享:Flash AS教程:旋轉(zhuǎn)立方體
好,下面開(kāi)始:stop();//這個(gè)stop是讓FLASH播放在這一幀停下來(lái),但對(duì)代碼的運(yùn)行沒(méi)有影響~其實(shí)不用也沒(méi)關(guān)系angle=-0.03;dot_x=Stage.width/2;dot_y=Stage.

來(lái)源:chenlangeer 閃吧//所屬分類:Flash教程/更新時(shí)間:2008-03-05
相關(guān)Flash教程